2022.07.13 DAY13
1. 字典元素的访问
1. 通过[键]获得"值"。
-
若键不存在,则抛出异常。
# 通过[键]获得“值” def test(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} print(myDictionary) print(myDictionary['name']) print(myDictionary['age']) print(myDictionary['job']) # Main if __name__ == '__main__': test()
2. 通过get()获得"值"。
-
若键不存在,则返回None。
-
也可以设定键不存在时默认返回的对象。推荐使用get()获取"值"对象。
# 通过get()获得“值” def test2(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} print(myDictionary) print(myDictionary.get('name')) print(myDictionary.get('gae')) print(myDictionary.get('job')) # Main if __name__ == '__main__': test2()
3. 列出所有的键值对。
# 列出所有的键值对
def test3():
myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
print(myDictionary)
print(myDictionary.items())
# Main
if __name__ == '__main__':
test3()
4. 列出所有的键 列出所有的值。
# 列出所有的键 列出所有的值
def test4():
myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'}
print(myDictionary)
print(myDictionary.keys())
print(myDictionary.values())
# Main
if __name__ == '__main__':
test4()
5. len()键值对的个数。
print(len(myDictionary))
6. 检测一个"键"是否在字典中。
print('name' in myDictionary)
2. 字典的添加、修改、删除
1. 给字典新增"键值对"。
-
如果"键"已存在,则覆盖旧的 键值对。
-
如果"键"不存在,则新增 键值对。
# 添加 键值对 def test5(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} print(myDictionary) myDictionary['love'] = 'STM32' myDictionary['job'] = 'Embedded' print(myDictionary) # Main if __name__ == '__main__': test5()
2. 使用update()将新字典中的所有键值全部添加到旧字典对象上。
-
如果key有重复,则直接覆盖。
# 使用update() def test6(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} herDictionary = {'name': 'XX', 'age': 20, 'job': 'Engineer'} print(myDictionary) myDictionary.update(herDictionary) print(myDictionary) # Main if __name__ == '__main__': test6()
3. 删除 使用del() & clear() & pop()
- del() 删除指定键值对。
- clear() 删除所有的键值对。
- pop() 删除指定键值对,同时返回对应的"值对象"。
4. popitem()
-
随机删除和返回该键值对。字典是"无序可变序列",依次没有第一个元素、最后一个元素的概念。popitem弹出随机的项,因此字典并没有"最后的元素"或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取价值的列表)。
# 使用popitem() def test7(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} print(myDictionary) myDictionary.popitem() print(myDictionary) myDictionary.popitem() print(myDictionary) # Main if __name__ == '__main__': test7()
3. 序列解包
-
序列解包可以用于元组、列表、字典。
-
序列解包可以让我们方便地对多个变量赋值。
# 序列解包 def test8(): x, y, z = 10, 20, 30 print(x) (a, b, c) = (40, 50, 60) print(b) [e, f, g] = [70, 80, 90] print(g) # Main if __name__ == '__main__': test8()
-
字典解包
# 序列解包 字典 def test9(): myDictionary = {'name': 'YJP', 'age': 21, 'job': 'Engineer'} print(myDictionary) # 默认对 键 进行操作 name, age, job = myDictionary print(name) # 对 键值 对进行操作 name2, age2, job2 = myDictionary.items() print(name2) # 对 值 对进行操作 name3, age3, job3 = myDictionary.values() print(name3) # Main if __name__ == '__main__': test9()