字典
字典是另一种可变容器模型,且可存储任意类型对象。
一、添加
(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
原文:https://www.cnblogs.com/smilepup-hhr/p/9678487.html