字典简介
- 字典里面的数据是以键值对形式出现
- 字典数据和顺序没有关系,不支持下标查找
- 可以根据 key 查找对应的 value
创建字典
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间用逗号隔开
# 空字典
dict1 = {}
dict2 = dict()
# 非空字典
dict3 = {key1: value1 , key2: value2}
增、改元素
字典序列[key] = 值
- 如果key存在,则修改这个key对应的值
- 如果key不存在,则新增此键值对
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
# 增加、修改元素 dict[key] = value
dict1['name'] = 'Lily'
print(dict1) # 存在,修改key对应的值
dict1['id'] = 110
print(dict1) # 不存在,增加键值对到字典
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
{'name': 'Lily', 'age': 20, 'gender': '男'}
{'name': 'Lily', 'age': 20, 'gender': '男', 'id': 110}
删除元素
- del() / del:删除字典或删除字典中指定键值对
del删除字典
del 字典序列
# 删除字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
del dict1
print(dict1)
输出结果
Traceback (most recent call last):
File "/Users/apple/Desktop/code/014-字典.py", line 22, in <module>
print(dict1)
NameError: name 'dict1' is not defined
del删除一个键值对
del 字典序列[key]
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
del dict1['age']
print(dict1)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
{'name': 'Tom', 'gender': '男'}
清空字典
字典序列.clear()
# 清空字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
dict1.clear()
print(dict1)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
{}
查找
通过key查找
字典序列[key]
# 通过key查找对应的value
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
print(dict1['name'])
print(dict1['age'])
print(dict1['gender'])
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
Tom
20
男
get() 查找数据
字典序列.get(key,默认值)
- key存在,返回key对应的value
- key不存在,返回默认值,默认值默认是None
# 通过get查找数据
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
print(dict1.get('name')) # 存在,返回对应的value
print(dict1.get('id')) # 不存在,返回默认值None
print(dict1.get('id','查找的数据不存在')) # 不存在,返回设定的值
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
Tom
None
查找的数据不存在
keys() 查找所有的key
字典序列.keys()
- 返回一个所有key的列表序列
# keys()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
print(dict1.keys())
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
dict_keys(['name', 'age', 'gender'])
values()查找所有的value
字典序列.values()
- 返回一个所有value的列表序列
# values()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
print(dict1.values())
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
dict_values(['Tom', 20, '男'])
items() 获取所有的键值对,作为一个元素
字典序列.items()
- 将字典中的每个key、value作为一个元组,返回所有元组的列表集合
# items()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
print(dict1.items())
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
遍历字典的key
# 遍历字典的key
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
for key in dict1.keys():
print(key)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
name
age
gender
遍历字典的value
# 遍历字典的value
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
for value in dict1.values():
print(value)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
Tom
20
男
遍历字典的item,元组
# 遍历字典的item
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
for item in dict1.items():
print(item)
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
('name', 'Tom')
('age', 20)
('gender', '男')
遍历字典的item,元组拆包
# 遍历字典的item,拆包
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1)
for key, value in dict1.items():
print(f'{key} = {value}')
输出结果
{'name': 'Tom', 'age': 20, 'gender': '男'}
name = Tom
age = 20
gender = 男
网友评论