脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python字典一键多值实例代码分享

python字典一键多值实例代码分享

2021-07-12 00:27脚本之家 Python

在本篇文章里小编给大家整理了关于python字典一键多值实例代码以及相关知识点,需要的朋友们参考下。

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字典一键多值的全部实例代码,感谢大家的学习和对服务器之家的支持。

延伸 · 阅读

精彩推荐