字典操作:
字典一种key - value 的数据类型,即键-值对
1、创建字典
dic1={'name':'alex'}
dic1['age']=18
print(dic1)
运行结果:
{'name': 'alex', 'age': 18}
2、setdefault():#键存在,返回字典中相应的键对应的值
dic1={'name':'alex'}
dic1.setdefault('age',34)#通过键来添加,如果有这个键就不添加,则不添加
print(dic1)
运行结果:
{'name': 'alex', 'age': 34}
3、键不存在,在字典中增加新的键值对,并返回相应的值
dic1={'name':'alex'}
set1=dic1.setdefault('hobby','girl')
print(set1)
运行结果:
girl
4、查找,通过键查找
dic3={'age':18,'name':'alex','hobby':'girl'}
print(dic3['name'])
print(dic3.keys())
print(list(dic3.keys()))#转换为list类型
print(list(dic3.values()))
print(list(dic3.items()))
运行结果:
alex
dict_keys(['age', 'name', 'hobby'])
['age', 'name', 'hobby']
[18, 'alex', 'girl']
[('age', 18), ('name', 'alex'), ('hobby', 'girl')]
5、修改
dic3={'age':18,'name':'alex','hobby':'girl'}
dic3['age']=45
print(dic3)
dic4={'1':'11','name':'333'}
dic3.update(dic4)
print(dic3)
print(dic4)
运行结果:
{'age': 45, 'name': 'alex', 'hobby': 'girl'}
{'age': 45, 'name': '333', 'hobby': 'girl', '1': '11'}
{'1': '11', 'name': '333'}
6、删
dic3={'age':18,'name':'alex','hobby':'girl','1':33,'2':44}
del dic3['age']#删除字典中的指定的键值对
print(dic3)
#dic3.clear()#清空字典
#print(dic3)
ret=dic3.pop('hobby')#把字典中的键值对删除,并返回该键所对应的的值
print(ret)
print(dic3)
ret1=dic3.popitem()#随机删除某组键值对,并以元组返回值
print(ret1)
print(dic3)
运行结果:
{'name': 'alex', 'hobby': 'girl', '1': 33, '2': 44}
girl
{'name': 'alex', '1': 33, '2': 44}
('2', 44)
{'name': 'alex', '1': 33}
7、删除整个字典
dic3={'age':18,'name':'alex','hobby':'girl','1':33,'2':44}
del dic3#删除整个字典
print(dict3)
运行结果:
NameError: name 'dic3' is not defined
8、sorted()
dic={5:'555',2:'22',3:'33'}
print(sorted(dic))#对键排序
print(sorted(dic.values()))#对值进行排序
print(sorted(dic.items()))
运行结果:
[2, 3, 5]
['22', '33', '555']
[(2, '22'), (3, '33'), (5, '555')]
9、字典嵌套
dic={5:'555',2:'22',3:'33'}
for i in dic:#效率高。推荐用这种
print(i,dic[i])
for i,v in dic.items():
print(i,v)
for i,v in enumerate(dic.items(),1):#对键值对添加索引
print(i,'>>',v)
运行结果:
5 555
2 22
3 33
5 555
2 22
3 33
1 >> (5, '555')
2 >> (2, '22')
3 >> (3, '33')