Python 字典(Dict)
dict1 = {'姓名': '小明', '年龄': 18, '性别': '男', 1: 1, 2: 2}
dict2 = dict1
# 创建空字典
dict3 = {}
dict3 = dict()
# 创建字典时如果有重复键值,后一个值会被记住
dict4 = {'姓名': '小明', '姓名': '小红'} # {姓名': '小红'}
1. 查询字典元素
dict1 = {'姓名': '小明', '年龄': 18, '性别': '男','1': '你好', 1: 1, 2: 2}
# 与列表和元组相似,通过中括号来查询。不同的是,中括号里的是键值而不是偏移量
# 注意 '1' 和 1 是不同的值
dict1['姓名'] # '小明'
dict1[1] # 1
dict1['1'] # '你好'
# 如果用字典里没有的键访问数据,会报错
dict1[3] # 报错
# get(key, default=None)
# 当键不存在时,也会返回一个值,默认为None,可以通过第二个参数设置
dict1.get('性别') # '男'
dict1.get('班级') # None
dict1.get('班级', '2班') # '2班'
# setdefault(key, default=None)
# 如果键不存在于字典中,将会添加键并将值设为default
dict1.setdefault('性别') # '男'
dict1.setdefault('班级', '2班') # '2班',dict1 = {'姓名': '小明', '年龄': 18, '性别': '男', '1': '你好', 1: 1, 2: 2, '班级': '2班'}
2. 修改字典元素
# 通过键修改/添加元素
# 如果键存在,则会更新对应的值,如果键不存在,则添加一组新的键值对
dict2 = {'姓名': '小明', '年龄': 18, '性别': '男'}
dict2['年龄'] = 20 # {'姓名': '小明', '年龄': 20, '性别': '男'}
dict2['学校'] = '第一小学' # {'姓名': '小明', '年龄': 20, '性别': '男','学校': '第一小学'}
# update(newDict) 用新字典的键值对更新原字典的键值对,如果有重复的键,那么值会被更新
dict3 = {1: 2, 3: 4}
dict4 = {1: 3, 4: 5}
dict3.update(dict4) # dtct3 = {1: 3, 3: 4, 4: 5}
3. 删除字典元素
dict3 = {'姓名': '小明', '年龄': 18, '性别': '男'}
# 使用del
del dict3['性别'] # {'姓名': '小明', '年龄': 18}
del dict3 # 删除元组,之后调用dict3会报错
# 清空字典
dict3.clear() # {}
4. 字典常用函数
| 序号 |
函数 |
描述 |
| 1 |
dict.clear() |
删除字典内所有元素 |
| 2 |
dict.copy() |
返回一个字典的浅复制 |
| 3 |
dict.fromkeys() |
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
| 4 |
dict.get(key, default=None) |
返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
| 5 |
dict.items() |
以列表返回一个视图对象 |
| 6 |
dict.values() |
返回键的视图对象 |
| 7 |
dict.keys() |
返回值视图对象 |
| 8 |
dict.get(key, default=None) |
获取键对应的值,如果不存在则返回第二个参数,默认为None |
| 9 |
dict.setdefault(key, default=None) |
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
| 10 |
dict.update(dict2) |
把字典dict2的键/值对更新到dict里 |
| 11 |
dict.pop(key[,default]) |
删除字典 key(键)所对应的值,返回被删除的值 |
| 12 |
dict.popitem() |
返回并删除字典中的最后一对键和值 |
| 13 |
value in dict |
如果value在键里返回True,否则返回False |