字典创建和增删改查
列表数据顺序发生变化,每个数据的下标也会随之变化,查找代码也需要跟着变。
但是字典不同,数据顺序变化前后都可以统一的标准查找数据。
1、创建字典的语法
字典特点:符号为大括号
数据为键值对形式出现
各个键值对之间用逗号隔开
# 有数据字典 dict1 = {'name': 'kk', 'age': 25, 'gender': '男'} # 空字典 dict2 = {} dict3 = dict{}
注意:一般称冒号前面的为键(key),简称K;冒号后面的为值(value),简称V。
2、字典常见操作
2.1 增
写法:字典序列【key】 = 值
注意:如果key存在则修改这个key对应的值,如果key不存在则新增此键值对。
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 新增id为111的键值对
dict1['id'] = 111
# 结果:{'name': 'kk', 'age': 25, 'gender': '男', 'id': 111}
print(dict1)
dict1['name'] = 'aa'
# 结果:{'name': 'aa', 'age': 25, 'gender': '男', 'id': 111}
print(dict1)
注意:字典为可变类型。
2.2 删
del()/del:删除字典或删除字典中指定键值对(如果找不到key则会报错)
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# del(dict1)
# 结果:报错,找不到dict1,因为删除了
# print(dict1)
del dict1['gender']
# 结果:{'name': 'kk', 'age': 25}
print(dict1)
# clear():清空字典
dict1.clear()
# 结果:{} -- 清空成功
print(dict1)
2.3 改
写法:字典序列【key】 = 值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
dict1['name'] = 'ac'
# 结果:{'name': 'ac', 'age': 25, 'gender': '男'}
print(dict1)
2.4 查
2.4.1 key值查找
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 结果:kk
print(dict1['name'])
# 结果:报错(找不到aa)
print(dict1['aa'])
如果当前查找的key存在,则返回对应的值;否则则报错。
2.4.2 get()
语法:字典序列.get(key,默认值)
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 结果:25
print(dict1.get('age'))
# 结果:None
print(dict1.get('id'))
# 结果:111
print(dict1.get('id', 111))
# 结果:None
print(dict1.get('id'))
2.4.3 keys()查找字典中所有的key,返回可迭代对象
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 结果:dict_keys(['name', 'age', 'gender'])
print(dict1.keys())
2.4.4 values()查找字典中的所有的value,返回可迭代对象
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 结果:dict_values(['kk', 25, '男'])
print(dict1.values())
2.4.5 items()查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,
元组数据2是字典的key对应的值
dict1 = {'name': 'kk', 'age': 25, 'gender': '男'}
# 结果:dict_items([('name', 'kk'), ('age', 25), ('gender', '男')])
print(dict1.items())

浙公网安备 33010602011771号