基本概念
字典类似于C语言中的结构体,可以理解为包含一个物体的许多属性的集合。每个属性都有对应的名称和其实际的内容。
**键:**字典的一个个属性
键值对:字面意思是一对键与值,是指两个相关联的值,即上面以道德属性对应的名称和其实际内容
LegoMarvel = {'name':'Marvel', 'price':799}
上面代码中有两个键值对,分别是'name':'Marvel'
和'price':799
创建一个空字典
LegoMarvel = {}
基本操作
访问字典中的值
LegoMarvel = {'name':'Anvengers', 'price':799}
print(LegoMarvel['name'])
输出结果
Anvengers
我们可以通过打印来显示字典中的值,但是有可能你所想要打印的键在字典中并不存在而会发生报错,这时候可以使用get()方法,可以避免这种报错
LegoMarvel = {'name':'Anvengers', 'price':799}
getpieces = LegoMarvel.get('pieces','NO PIECES!')//括号内第二部分是如果没有找到该键会输出的内容
print(getpieces)
输出结果
NO PIECES!
添加键值对
方法是直接赋值
LegoMarvel = {'name':'Anvengers', 'price':799}
LegoMarvel['pieces'] = 863
print(LegoMarvel)
输出结果
{'name': 'Anvengers', 'price': 799, 'pieces': 863}
我们会发现LegoMarvel这个字典中就自动增加了pieces这一个键值对
修改字典值
与添加键值对类似的,我们也可以修改字典的值
LegoMarvel = {'name':'Anvengers', 'price':799}
LegoMarvel['name'] = 'Iron Man'
print(LegoMarvel)
输出结果
{'name': 'Iron Man', 'price': 799}
删除键值对
LegoMarvel = {'name':'Anvengers', 'price':799}
del LegoMarvel['price']
print(LegoMarvel)
输出结果
{'name': 'Anvengers'}
字典的遍历
键值对的遍历
LegoMarvel = {'name':'Anvengers', 'price':799}
for key, value in LegoMarvel.items():
print(f"'{key}':'{value}'")
输出结果
'name':'Anvengers'
'price':'799'
键的遍历
LegoMarvel = {'name':'Anvengers', 'price':799, 'age':12}
for key in LegoMarvel.keys():
print(f"{key}")
输出结果
name
price
age
如果想按字母顺序打印键值对,可以使用sorted()函数:
LegoMarvel = {'name':'Anvengers', 'price':799, 'age':12}
for key in sorted(LegoMarvel.keys()):
print(f"{key}")
输出结果
age
name
price
值的遍历
LegoMarvel = {'name':'Anvengers', 'price':799, 'age':12}
for value in LegoMarvel.values():
print(f"{value}")
输出结果
Anvengers
799
12
如果字典中值有重复的情况,而此时我们只想输出不重复的,我们可以用set()函数
for value in set(LegoMarvel.values()):