从零开始的Python学习Episode 5——字典
字典
字典是另一种可变容器模型,且可存储任意类型对象。
一、添加
(1)直接添加
dict={'name':'smilepup'} dict['age']=20 dict['name']='piggy' print(dict) #输出{'name': 'piggy', 'age': 20}
若输入的键存在,就把键对应的值更新为新的值。
若输入的键不存在,就把输入的键值对添加进字典。
(2)setdefault()方法
dict={'name':'smilepup'} a = dict.setdefault("age",20) b = dict.setdefault("name",'piggy') print(dict) print(a) print(b) #输出 #{'name': 'smilepup', 'age': 20} #20 #smilepup
若输入的键存在,不改动,并返回键对应的已有值。
若输入的键不存在,就把输入的键值对添加进字典,并返回新添加的值。
二、查找
(1)根据键来查找对应的值
dict={'name':'smilepup'} print(dict['name']) #输出smilepup
若输入的键不存在会报错。
(2)get() 方法
dict={'name':'smilepup'} print(dict.get('name')) print(dict.get('age')) #输出 #smilepup #None
若输入的键存在,并返回键对应的值。
若输入的键不存在,就返回None。
(2)查找所有的键
dict={'name':'smilepup','age':20} print(list(dict.keys())) #输出['name', 'age']
返回一个dict_keys类型的值,表示字典中所有的键。若要使用这些键,可以把它转换为列表。
(2)查找所有的值
dict={'name':'smilepup','age':20} print(list(dict.values())) #输出['smilepup', 20]
与上同理。
(3)查找所有的键值对
dict={'name':'smilepup','age':20} print(list(dict.items())) #输出[('name', 'smilepup'), ('age', 20)]
与上同理
三、修改
(1)直接法
dict={'name':'smilepup','age':20} dict['age'] = 21 print(dict) #输出{'name': 'smilepup', 'age': 21}
(2)update()方法
dict={'name':'smilepup','age':20} dict2 = {'gender':'male','age':'21'} dict.update(dict2) print(dict) #输出{'name': 'smilepup', 'age': '21', 'gender': 'male'}
创建一个新的字典来存信息,然后对原有字典进行更新,有点像列表的extend()。
要注意的是:若有键已存在,则修改更新已有键对应的值;若键不存在,则添加新的键值对。
四、删除
(1)del 操作
dict={'name':'smilepup','age':20,'gender':'male'} del dict['name'] print(dict) #输出{'age': 20, 'gender': 'male'}
删除所选键的键值对。
(2)clear()方法
dict={'name':'smilepup','age':20,'gender':'male'} dict.clear() print(dict) #输出{}
清空字典,留下一个空字典。
(3)pop()方法
dict={'name':'smilepup','age':20,'gender':'male'} ret = dict.pop('age') print(dict) print(ret) #输出 #{'name': 'smilepup', 'gender': 'male'} #20
删除所选键的键值对,并返回已删除键值对的值。
(4)popitem() 方法
dict={'name':'smilepup','age':20,'gender':'male'} ret = dict.popitem() print(dict) print(ret) #输出 #{'name': 'smilepup', 'age': 20} #('gender', 'male')
随机删除一个键值对,并已元组的方式返回所删除的键值对。
五、用for循环遍历字典
方法一:
dict={'name':'smilepup','age':20,'gender':'male'} for i in dict: print(i, dict[i]) #输出 #name smilepup #age 20 #gender male
方法二:
dict={'name':'smilepup','age':20,'gender':'male'} for i,v in dict.items(): print(i,v) #输出 #name smilepup #age 20 #gender male