python字典多键值及重复键值的使用方法(详解)
来源:互联网 发布:网线接入网络方式 编辑:程序博客网 时间:2024/05/17 01:41
在Python中使用字典,格式如下:
1
dict
=
{ key1:value1 , key2;value2 ...}
在实际访问字典值时的使用格式如下:
1
dict
[key]
多键值
字典的多键值形式如下:
1
dict
=
{(ke11,key12):value ,(key21,key22):value ...}
在实际访问字典里的值时的具体形式如下所示(以第一个键为例):
1
dict
[key11,key12]
或者是:
1
dict
[(key11,key12)]
以下是实际例子:
多值
在一个键值对应多个值时,格式:
1
dict
=
{key1:(value1,value2 ..), key2:(value1,value2 ...) ...}
访问字典里的值的格式如下:
1
dict
[key]
或者
1
dict
[key][index]
循环赋值(重点)
语法结构如以下实例所示
总结:
通过以上的说明,可以知道在字典的定义中, 冒号( : ) 号前后是分别是一个整体,即使用小括号()将冒号前后部分分别包括起来,在访问字典值时,最好把键放在小括号内成为一个整体。
键值相同的多个键值对
即在字典中,有至少两个成员的键相同,但是键对应的值是不同的,格式如下:
1
2
3
dict
=
{ key1: value1
key1: vaklue2,
... }
在这种形式形式中在后来赋给键的值将成为键的真实值。
使用列表、字典作为字典的值
格式
1
2
3
dict
=
{ key1:(key11:value,key12:value) ,
key2:(key21:value,key22:value)
}
访问字典值得格式(以第一个键为例):
1
dict
[key1][key11]
实际例子如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#encoding=utf-8
print
'中国'
#字典的一键多值
print
'方案一 list作为dict的值 值允许重复'
d1
=
{}
key
=
1
value
=
2
d1.setdefault(key,[]).append(value)
value
=
2
d1.setdefault(key,[]).append(value)
print
d1
#获取值
print
'方案一 获取值'
print
list
(d1[key])
print
'方案一 删除值,会留下一个空列表'
d1[key].remove(value)
d1[key].remove(value)
print
d1
print
'方案一 检查是否还有一个值'
print
d1.get(key,[])
print
'方案二 使用子字典作为dict的值 值不允许重复'
d1
=
{}
key
=
1
keyin
=
2
value
=
11
d1.setdefault(key,{})[keyin]
=
value
keyin
=
2
value
=
22
d1.setdefault(key,{})[keyin]
=
value
keyin
=
3
value
=
33
d1.setdefault(key,{})[keyin]
=
value
print
d1
print
'方案二 获取值'
print
list
(d1[key])
print
'方案二 删除值,会留下一个空列表'
del
d1[key][keyin]
keyin
=
2
del
d1[key][keyin]
print
d1
print
'方案二 检查是否还有一个值'
print
d1.get(key,())
print
'方案三 使用set作为dict的值 值不允许重复'
d1
=
{}
key
=
1
value
=
2
d1.setdefault(key,
set
()).add(value)
value
=
2
d1.setdefault(key,
set
()).add(value)
value
=
3
d1.setdefault(key,
set
()).add(value)
print
d1
print
'方案三 获取值'
print
list
(d1[key])
print
'方案三 删除值,会留下一个空列表'
d1[key].remove(value)
value
=
2
d1[key].remove(value)
print
d1
print
'方案三 检查是否还有一个值'
print
d1.get(key,())
打印结果:
中国
方案一 list作为dict的值 值允许重复
{1: [2, 2]}
获取值
[2, 2]
删除值,会留下一个空列表
{1: []}
检查是否还有一个值
[]
方案二 使用子字典作为dict的值 值不允许重复
{1: {2: 22, 3: 33}}
获取值
[2, 3]
删除值,会留下一个空列表
{1: {}}
检查是否还有一个值
{}
方案三 使用set作为dict的值 值不允许重复
{1: set([2, 3])}
获取值
[2, 3]
删除值,会留下一个空列表
{1: set([])}
检查是否还有一个值
set([])
0 0
- python字典多键值及重复键值的使用方法(详解)
- python字典多键值及重复键值的使用
- python 字典 键值 交集
- Python合并字典键值并去除重复元素
- python字典之键值交换
- 数组的字典键值排序
- python字典键值对的添加和遍历
- python:二维字典的键值合并等函数
- python一道关于颠倒字典中键值的问题
- 重复键值对的解决方案
- python中字典按键或键值排序
- python中字典按键或键值排序
- 【Python-3.3】遍历字典键值练习
- iOS 得到字典所有的键值对
- 键值
- 键值
- 键值
- 容器set、map键值重复的原因
- 有关于身份证号码的组成
- wdatepicker的常用日期格式
- 【JavaEE】经典JAVA EE企业应用实战-读书笔记20
- Mac 下Sublime Text3 快捷键 (亲测!)
- 索引概述
- python字典多键值及重复键值的使用方法(详解)
- SQL like与regexp区别
- 仿知乎app登录界面(Material Design设计框架拿来就用的TexnInputLayout)
- java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
- Multiple operations with path 'api/Plan/AllocateTransport' and method 'GET'
- 文章标题
- 随处可见的用户体验
- 【数据结构 队列 + 二叉树】
- Quartz作业调度(2)