列表数据顺序发生变化,每个数据的下标也会随之变化,查找代码也需要跟着变。
但是字典不同,数据顺序变化前后都可以统一的标准查找数据。
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())
标签:25,dict1,name,age,改查,key,增删,字典 From: https://www.cnblogs.com/yz-b/p/16614720.html