#创建字典的两种方法如下:
dic1 = {'stationery1':'book','staionery2':'pen','stationery3':'jotter','statonery4':'computer'}
dic2=dict((('statonery5','fans'),))
增加字典的方法如下:
way1.
dic1['stationery5']='fans'
print(dic1)
way2.
dic1.setdefault('stationery5','fans')如果有相同的键 不会改变原来的键值 但会返回原来的值
print(dic1)
# 查找字典元素的方法如下:
way1.
print(dic1['stationery3'])
way2.
print(dic1.keys()) 输出所有的键但其类型是dic_key 类型如果需要改为list 类型 通过list(dicl.key())即可
print(dic1.items())输出所有的键和值但其类型是dic_item ....
print(dic1.values())输出所有的值但其类型是dic_values...
# # 更改字典内容的方法如下:
# #way1.
dic1.update(dic2)
print(dic1) 如果dic2中有与dic1中键相等的dic1中对应的值会更改为dic2中的值即update
#如何删除 字典内容:
# # way1.
#del dic1['stationery1']删除指点的值
# print(dic1)
# # #way 2 .
# # dic1.clear()清空字典
# # print(dic1)
# # way 3.
# #print(dic1.pop('stationery1')) #删除指定的键值 并返还值
# #way 4 .
print(dic1.popitem()) #随机删除一个键值对 并返还删除的键值对
way5 .
del dic1 从内存上删除整个字典
print(dic1)
# 字典的另一种创建方式
zidian = dict.fromkeys(['d','c','b','a'],'e')
print(zidian)
{'d': 'e', 'c': 'e', 'b': 'e', 'a': 'e'}
zidian['a']='f' 这样可以改变里面的值
print(zidian)
{'d': 'e', 'c': 'e', 'b': 'e', 'a': 'f'}
字典的嵌套
zidian ={
'北京市':{'开放':['东城区','西城区','崇文区','宣武区','朝阳区','海淀区','丰台区','石景山区','门头沟区']},
'上海市':{'光闭':['徐汇区''长宁区''普陀区''闸北区''虹口区''杨浦区''黄浦区''卢湾区']},
'天津市 ':{'半开放':['和平区''河北区''河西区 ''河东区 ''红桥区']}
}
如果想查找某个值这里以丰台区改为密云县为例
zidian['北京市']['开放'][-3]='密云县'
print(zidian)
{'北京市': {'开放': ['东城区', '西城区', '崇文区', '宣武区', '朝阳区', '海淀区', '密云县', '石景山区', '门头沟区']}, '上海市': {'光闭': ['徐汇区长宁区普陀区闸北区虹口区杨浦区黄浦区卢湾区']}, '天津市\u2002': {'半开放': ['和平区河北区河西区\u2002河东区\u2002红桥区']}}
接下来是dict的排序
dic4= {22:1,44:7,222:3,1:4}
print(sorted(dic4)) 如果键是数字按数字大小排序 如果键是其他的按ASSIC表排序
[1, 22, 44, 222]
print(sorted(dic4.keys()))按键排
[1, 22, 44, 222]
print(sorted(dic4.values()))按值排
[1, 3, 4, 7]
dict 的遍历
type 1 。
bl ={'a':1, 'b':2, 'c':3,'d':4}
for i in bl:
print(i)
a
b
c
d
type 2.
for i in bl:
print(i,bl[i],end=' ')
a 1 b 2 c 3 d 4
type 3
for i,v in bl.items() :
print(i,v)
a 1
b 2
c 3 这里type,2,3,4,得到的都一样只是表达出来不同
d 4
type 4
for i in bl.items():
print(i)
('a', 1)
('b', 2)
('c', 3)
('d', 4)