python 字典操作

创建字典

  {}和dict()函数都可以创建字典

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 dict_b = dict({'name': '李四', 'age': '20', 'class': '二年级'})
3 print('dict_a: %s' % dict_a)
4 print('dict_b: %s' % dict_b)
5 
6 结果:
7 dict_a: {'name': '张三', 'age': '18', 'class': '三年级'}
8 dict_b: {'name': '李四', 'age': '20', 'class': '二年级'}

访问字典值

  根据字典的key可以访问value,或者get()方法访问value区别是当key不存在时后者不会报错,会返回None

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 print(dict_a['name'])
3 print(dict_a.get('name'))
4 print(dict_a.get('name1'))
5 
6 结果:
7 张三
8 张三
9 None

修改字典

  根据字典的key重新给value赋值即可,已存在即修改,不存在即新增

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 dict_a['name'] = '李四'
3 dict_a['gender'] = ''
4 print(dict_a)
5 
6 结果:
7 {'name': '李四', 'age': '18', 'class': '三年级', 'gender': ''}

更新字典

  update()方法,原字典有值则修改,无值则新增  

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 dict_b = {'name': '李四', 'age': '20', 'class': '三年级', 'gender': ''}
3 print(dict_a)
4 dict_a.update(dict_b)
5 print(dict_a)
6 
7 结果:
8 {'name': '张三', 'age': '18', 'class': '三年级'}
9 {'name': '李四', 'age': '20', 'class': '三年级', 'gender': ''}

删除字典

  del dict[key],通过key删除指定元素

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 del dict_a['name']
3 print(dict_a)
4 
5 结果:
6 {'age': '18', 'class': '三年级'}

  clear(),清空字典全部元素,返回一个空字典

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 dict_a.clear()
3 print(dict_a)
4 
5 结果:
6 {}

  pop(),通过可以删除指定元素,并返回该key对应的value 

1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
2 a = dict_a.pop('name')
3 print(dict_a)
4 print(a)
5 
6 结果:
7 {'age': '18', 'class': '三年级'}
8 张三

字典遍历

 1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级'}
 2 # 遍历所有key
 3 for key in dict_a.keys():
 4     print(key)
 5 print('-' * 50)
 6 # 遍历所有value
 7 for value in dict_a.values():
 8     print(value)
 9 print('-' * 50)
10 # 遍历所有key,value
11 for key, value in dict_a.items():
12     print(key + ':' + value)
13 
14 结果:
15 name
16 age
17 class
18 --------------------------------------------------
19 张三
20 18
21 三年级
22 --------------------------------------------------
23 name:张三
24 age:18
25 class:三年级

 

字典嵌套

  字典中存放列表 

 1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级', 'subject': ['数学', '语文', '英语']}
 2 print(dict_a['subject'])
 3 for i in dict_a['subject']:
 4     print(i)
 5     
 6 结果:
 7 ['数学', '语文', '英语']
 8 数学
 9 语文
10 英语

  字典中存放字典 

 1 dict_a = {'name': '张三', 'age': '18', 'class': '三年级', 'teachers': {'数学': '小明', '语文': '小红', '英语': '小文'}}
 2 print(dict_a['teachers'])
 3 for key, value in dict_a['teachers'].items():
 4     print(key + ":" + value)
 5   
 6 结果:
 7 {'数学': '小明', '语文': '小红', '英语': '小文'}
 8 数学:小明
 9 语文:小红
10 英语:小文  

 

posted @ 2020-10-11 17:07  IsUnruly、  阅读(111)  评论(0)    收藏  举报