#创建
dic = {'name':'du','age':23,'hobby':{'name':'铁锤','age':23},'is_handsome':True,1:3}
print(dic)
print(dic['name'])
print(dic['hobby'])
print(dic[1])
#可变类型不能做键
#字典两个特点:无序,键唯一
dic = dict((('name','age'),))
输出:
{'name': 'du', 'age': 23, 'hobby': {'name': '铁锤', 'age': 23}, 'is_handsome': True, 1: 3}
du
{'name': '铁锤', 'age': 23}
3
#添加
dic1 = {'name':'du'}
dic1['age']=18
print(dic1)
# #如果有这个键则返回这个键原来的值,且值不改动
ret = dic1.setdefault('age',34)
print(ret)
#如果没有这个键则添加这个键并把这个键的默认值返回
ret2 = dic1.setdefault('school','清华')
print(ret2)
结果:
{'name': 'du', 'age': 18}
18
清华
#查
print(dic['name'])
#只看键,数据类型为dict_keys
print(dic.keys())
print(list(dic.keys()))#转化为列表
print(type(dic.keys()))
#只看值
print(list(dic.values()))
#取键值对
print(list(dic.items()))
结果:
du
dict_keys(['name', 'age', 'hobby', 'is_handsome', 1])
['name', 'age', 'hobby', 'is_handsome', 1]
['du', 23, {'name': '铁锤', 'age': 23}, True, 3]
[('name', 'du'), ('age', 23), ('hobby', {'name': '铁锤', 'age': 23}), ('is_handsome', True), (1, 3)]
#改
dic['age']=55 #字典用键名改,列表用索引改
print(dic)
dic2 ={'1':'111'}
#有相同的键更新,没有就添加进去
dic.update(dic2)
print(dic)
print(dic2)
结果:
{'name': 'du', 'age': 55, 'hobby': {'name': '铁锤', 'age': 23}, 'is_handsome': True, 1: 3}
{'name': 'du', 'age': 55, 'hobby': {'name': '铁锤', 'age': 23}, 'is_handsome': True, 1: 3, '1': '111'}
{'1': '111'}
#删
del dic['name'] #删除字典中指定键值对
print(dic)
dic.clear() #清空字典
print(dic)
结果:
{'age': 23, 'hobby': {'name': '铁锤', 'age': 23}, 'is_handsome': True, 1: 3}
{}
re=dic.pop('name')#删除字典中指定键值对,并返回该键值对的值
print(re)
结果:du
a=dic.popitem()#随机删除,列表有顺序所以删除最后一个,并返回值
print(a,dic)
结果:(1, 3) {'name': 'du', 'age': 23, 'hobby': {'name': '铁锤', 'age': 23}, 'is_handsome': True}
del dic #删除整个字典
#其他操作以及涉及到的方法
dic2 = dict.fromkeys(['host1','host2'],'test')#前面为键,后面为值
print(dic2)
dic2 = dict.fromkeys(['host1','host2'],['test','test2'])#前面为键,后面为值
结果:
{'host1': 'test', 'host2': 'test'}
{'host1': ['test', 'test2'], 'host2': ['test', 'test2']}
#字典排序,默认根据键,
dic=
print(sorted(dic))
#用值排序
print(sorted(dic.values()))
#遍历
for i in dic:
print(i,dic[i]) #效率高,推荐
for i in dic.items():
print(i)
领取专属 10元无门槛券
私享最新 技术干货