Python 学习笔记(七)——字典

字典 包含N个键值对。

1. 一个外星人

1
2
3
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])

2. 增加键值对

1
2
3
4
5
6
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)

alien_0['x_position'] = 0 #x坐标
alien_0['y_position'] = 25 #y坐标
print(alien_0)

3. 删除键值对(永久删除)
del alien_0['points']

4. 遍历字典
可遍历字典的所有键——值对、,即便字典存储的上千乃至上百万都可以。

1
2
3
4
5
6
7
user = {
'a': 1,
'b': 2,
'c': 3,
}
for key in user:
print(key)

结果:

1
2
3
a
b
c

结论:默认遍历“键”,而非键值对或者值!

1
2
for key in user.keys():
print(key)

结果:

1
2
3
a
b
c

所以可以看出:
for key in user = for key in user.keys()

5. 访问字典dict正确操作
使用 OBJECT.items()
1
2
3
4
5
6
7
user = {
'a': 1,
'b': 2,
'c': 3, }

for key, value in user.items():
print(key, value)


6. 总结

遍历字典时,会默认遍历所有的键。 因此,将
for key in user_0.keys() 改为: for key in user_0
是等效的。
如果显示地使用keys()方法可以让代码更容易理解。

7. 顺序遍历
使用 sorted() 函数。

1
2
3
user = {'c': 1, 'b': 2, 'a': 3}
for key in sorted(user.keys()):
print(key)

结果:

1
2
3
a
b
c

8. 去除遍历后的重复值(一般指values的重复值)
利用 set 函数。

1
2
3
4
5
6
7
8
9
user = {
'c': 1,
'b': 2,
'a': 3,
'd': 1,
}

for value in set(user.values()):
print(value)

结果:

1
2
3
1
2
3

9. 嵌套

———— The End ————