字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。
字典特点:
符号为大括号;
数据为键值对形式出现;
各个键值对之间用逗号隔开。
三、字典常见操作
3.1 增
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
注意:字典为可变类型。
pycharm技巧:输入符号对后,按Tab键可跳出符号对。
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
dict1['id'] = 110
print(dict1) # {'name': 'TOM', 'age': 20, 'gender': '男', 'id': 110}
dict1['name'] = 'ROSE'
print(dict1) # {'name': 'ROSE', 'age': 20, 'gender': '男', 'id': 110}
3.2 删
del() / del:删除字典或删除字典中指定键值对。
clear():清空字典。
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# del(dict1)
# print(dict1) # NameError: name 'dict1' is not defined
del dict1['name']
print(dict1) # {'age': 20, 'gender': '男'}
# del dict1['names'] #不存在,则报错
# print(dict1) # KeyError: 'names'
dict1.clear() # 清空字典
print(dict1) # {}
3.3 改
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
3.4 查
3.4.1 key值查找
如果当前查找的key存在,则返回对应的值;否则则报错。
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 1. [key]
print(dict1['name']) # TOM
# print(dict1['names']) # 报错 KeyError: 'names'
3.4.2 get()
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略了第二个参数,则返回None。
get()不会报错。
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.1 get()
print(dict1.get('name')) # TOM
print(dict1.get('names')) # None
print(dict1.get('names', 'Lily')) # Lily
print(dict1) # {'name': 'TOM', 'age': 20, 'gender': '男'} 没有增加names
3.4.3 keys()
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.2 keys() 查找字典中所有的key,返回可迭代对象(即可以用for遍历的对象)
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
3.4.4 values()
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.3 values() 查找字典中的所有的value,返回可迭代对象
print(dict1.values()) # dict_values(['TOM', 20, '男'])
3.4.5 items()
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 2.4 items() 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值。
print(dict1.items()) # dict_items([('name', 'TOM'), ('age', 20), ('gender', '男')])
四、字典的循环遍历
4.1 遍历字典的key
4.2 遍历字典的value
4.3 遍历字典的元素
4.4 遍历字典的键值对
dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}
# 4.1 遍历字典的key
for key in dict1.keys():
print(key)
'''
name
age
gender
'''
# 4.2 遍历字典的value
for value in dict1.values():
print(value)
'''
TOM
20
男
'''
# 4.3 遍历字典的元素
for item in dict1.items():
print(item)
'''
('name', 'TOM')
('age', 20)
('gender', '男')
'''
# 4.4 遍历字典的键值对
# xx.items():返回可迭代对象,内部是元组,元组有些个数据
# 元组数据1是字典的key,元组数据2是字典的value
for key, value in dict1.items():
# print(key)
# print(value)
# 目标:key=value
print(f'{key} = {value}')
'''
name = TOM
age = 20
gender = 男
'''