dict={}#直接新建字典
可以根据映射关系将元组变为字典
dict3=dict(((‘赵’,1),(‘钱’,2),(‘孙’,3),(‘李’,4)))
dict3
{‘赵’: 1, ‘钱’: 2, ‘孙’: 3, ‘李’: 4}
dict4=dict(你好=‘骚年’,学习=‘python’)
dict4
{‘你好’: ‘骚年’, ‘学习’: ‘python’}
修改字典中对应的value
dict4[‘你好’]=‘这个世界’
dict4
{‘你好’: ‘这个世界’, ‘学习’: ‘python’}
向字典中添加
dict4[‘天才’]=‘专注’
dict4
{‘你好’: ‘这个世界’, ‘学习’: ‘python’, ‘天才’: ‘专注’}
用fromkeys()创建字典
dict2={}
dict2.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
dict2.fromkeys((1,2,3),‘细嗅蔷薇’)
{1: ‘细嗅蔷薇’, 2: ‘细嗅蔷薇’, 3: ‘细嗅蔷薇’}
dict2.fromkeys((1,2,3),(‘心有猛虎’,‘细嗅蔷薇’,‘刚柔并济’))
{1: (‘心有猛虎’, ‘细嗅蔷薇’, ‘刚柔并济’),
2: (‘心有猛虎’, ‘细嗅蔷薇’, ‘刚柔并济’),
3: (‘心有猛虎’, ‘细嗅蔷薇’, ‘刚柔并济’)}
#fromkeys不可修改字典,如果用fromkeys修改,只会创建新的字
dict1=dict1.fromkeys(range(20),‘玩笑’)
dict1
{0: ‘玩笑’, 1: ‘玩笑’, 2: ‘玩笑’, 3: ‘玩笑’, 4: ‘玩笑’, 5: ‘玩笑’, 6: ‘玩笑’, 7: ‘玩笑’, 8: ‘玩笑’, 9: ‘玩笑’, 10: ‘玩笑’, 11: ‘玩笑’, 12: ‘玩笑’, 13: ‘玩笑’, 14: ‘玩笑’, 15: ‘玩笑’, 16: ‘玩笑’, 17: ‘玩笑’, 18: ‘玩笑’, 19: ‘玩笑’}
打印keys
for eachkey in dict1.keys():
print(eachkey)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
打印values
for eachvalue in dict1.values():
print(eachvalue)
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
玩笑
打印Item
for eachitem in dict1.items():
print(eachitem)
(0, ‘玩笑’)
(1, ‘玩笑’)
(2, ‘玩笑’)
(3, ‘玩笑’)
(4, ‘玩笑’)
(5, ‘玩笑’)
(6, ‘玩笑’)
(7, ‘玩笑’)
(8, ‘玩笑’)
(9, ‘玩笑’)
(10, ‘玩笑’)
(11, ‘玩笑’)
(12, ‘玩笑’)
(13, ‘玩笑’)
(14, ‘玩笑’)
(15, ‘玩笑’)
(16, ‘玩笑’)
(17, ‘玩笑’)
(18, ‘玩笑’)
(19, ‘玩笑’)
打印其中的一项
print(dict1[19])
玩笑
若字典中不存在该项则会报错
print(dict1[20])
Traceback (most recent call last):
File “<pyshell#259>”, line 1, in
print(dict1[20])
KeyError: 20+
查询字典中是否存在一个元素
19 in dict1
True20 in dict1
False
字典删除某项与列表元组一样
del dict1[19]
dict1
{0: ‘玩笑’, 1: ‘玩笑’, 2: ‘玩笑’, 3: ‘玩笑’, 4: ‘玩笑’, 5: ‘玩笑’, 6: ‘玩笑’, 7: ‘玩笑’, 8: ‘玩笑’, 9: ‘玩笑’, 10: ‘玩笑’, 11: ‘玩笑’, 12: ‘玩笑’, 13: ‘玩笑’, 14: ‘玩笑’, 15: ‘玩笑’, 16: ‘玩笑’, 17: ‘玩笑’, 18: ‘玩笑’}
清除字典clear指令
dict1.clear()
dict1
{}
【注】区别于dict1={}
dict1
{}
a={‘学号’:‘001’}
b=a
b
{‘学号’: ‘001’}a={}
a
{}b
{‘学号’: ‘001’}a=b
a
{‘学号’: ‘001’}b
{‘学号’: ‘001’}a.clear()
a
{}b
{}
浅拷贝copy
a={1:‘大哥’,2:‘二哥’,3:‘三弟’}
b=a.copy()
c=a
a
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’}b
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’}c
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’}id(a)
1797360id(b)
1795104id©
1797360#赋值与浅拷贝看起来一样,但实际上赋值时数据地址还是原来的地址,而浅拷贝数据地址会改变
c[4]=‘四叔’
a
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’, 4: ‘四叔’}b
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’}c
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’, 4: ‘四叔’}#此时可以就可以看出,浅拷贝与赋值之间的区别
POP指令
1.可用来调取并删除字典中的某一项
a.pop(4)
‘四叔’a
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三弟’}
2.随机调取并删除字典中的一项(因为字典是没有先后顺序的)
a.popitem()
(3, ‘三弟’)
setdefault向字典中添加一项
a
{1: ‘大哥’, 2: ‘二哥’}a.setdefault(3,‘三哥’)
‘三哥’a
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三哥’}
update更新字典
b={4:‘四婶’}
a.update(b)
a
{1: ‘大哥’, 2: ‘二哥’, 3: ‘三哥’, 4: ‘四婶’}