字典


字典是无序的
字典关联性强
字典元素为键值对 且 键 唯一 键 是 可哈西的(不可变数据类型:int str bool tuple)
不可哈西(list dict set)
字典是唯一一个映射的数据类型

1 dic_1 = {'name':'Tom','age':20}
2 dic_2 = {'class_1':['Tom','xiaoming','ligang'],'class_2':['张三','李四','王五']}
3 
4 键是唯一的  
5 dic = {'name':'Tom','name':'李刚','age':20}
6 print(dic)    #两个'name'

一、增

dic[key] = value

原字典已经存在key 覆盖

如果没有,则添加

1 dic = {'name':'Tom','son':'李刚','age':20}
2 dic['job'] = 'teacher'
3 print(dic)
4 # {'name': 'Tom', 'son': '李刚', 'age': 20, 'job': 'teacher'}
5 dic = {'name':'Tom','son':'李刚','age':20}
6 dic['son'] = '张三'
7 print(dic)
8 # {'name': 'Tom', 'son': '张三', 'age': 20}

setdefault(self, key, default = None)

键没有,添加

已经有键,不操作

1 dic = {'name':'Tom','son':'李刚','age':20}
2 dic.setdefault('hobby')                          #default没有的情况,默认为None
3 # {'name': 'Tom', 'son': '李刚', 'age': 20, 'hobby': None}          #None  就是空   分配给一个特殊的所有的空的公共内存空间
4 dic = {'name':'Tom','son':'李刚','age':20}
5 dic.setdefault('hobby','girls')
6 # {'name': 'Tom', 'son': '李刚', 'age': 20, 'hobby': 'girls'}
7 dic = {'name':'Tom','son':'李刚','age':20}
8 dic.setdefault('name','王五')                        #字典中已经有'name'  key ,就不对字典做任何修改
9 # {'name': 'Tom', 'son': '李刚', 'age': 20}      #

二、删

pop(self, key)

通过键删除

如果键不存在,报错

 

 1 dic = {'name':'Tom','son':'李刚','age':20}
 2 print(dic.pop('name'))                    #通过键删除
 3 print(dic)
 4 # Tom
 5 # {'son': '李刚', 'age': 20}
 6 
 7 dic = {'name':'Tom','son':'李刚','age':20}
 8 print(dic.pop('city'))                             #如果键不存在,报错  KeyError:***
 9 print(dic)
10 
11 # Traceback (most recent call last):
12 #   File "D:/Demo/test2.py", line 2, in <module>
13 #     print(dic.pop('city'))
14 # KeyError: 'city'
15 
16 dic = {'name':'Tom','son':'李刚','age':20}
17 print(dic.pop('city',None))                #加上返回值None,且键不存在,说明key不存在, 当然也可以把None换成 '不存在'
18 print(dic)  
19 # None
20 # {'name': 'Tom', 'son': '李刚', 'age': 20}
pop

相关文章:

  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2021-06-28
  • 2022-03-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2022-12-23
  • 2021-05-27
  • 2021-07-22
  • 2021-11-20
相关资源
相似解决方案