python中字典可以一键多值,也就是意味着一个键可以对应多个值。
例:
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
#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,())
|
打印结果如下:
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
|
中国
方案一 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 ([])
|
以上就是关于本次介绍的python字典一键多值的全部实例代码,感谢大家的学习和对服务器之家的支持。