首页 > 技术文章 > 字典类型

cainiaoqianxun 2020-03-11 20:39 原文

第三部分:字典类型


一.作用:存放的多个值,值是一般是具有用描述性的字符串也就是key与之对应时,用字典,key只能是不可变类型,且不能重复,
value可以使任意类型的值。

二.定义
1.方式一:
d={'k1':111,(1,2,3):222} # 底层实际执行了d=dict(...)操作

2.方式二:
d=dict(a=1,y=2,z=3)
print(d)

3.方式三:
另外一种创造字典的方式
info=[
['name','egon'],
('age',18),
['gender','male']
]
res=dict(info)
print(res)

4.方式四:用于快速初始化一个字典
keys=['name','age','gender']
d={}.fromkeys(keys,None)

四.内置方法
(优先掌握)
1.按key存取值:可存可取
d={'k1':1,'k2':2,'k3':3}
res=d['k1']
print(res)

2.存改值:存值时存在的key直接赋值value,不存在创建key并赋值value
d={'k1':1,'k2':2,'k3':3}
d['k1']="a"
print(d)

d['k100']='b'
print(d)

3.长度len
d={'k1':1,'k2':2,'k3':3}
print(len(d)) #可以算是key的个数,也可以算是value的个数和item的个数,反正都相等

4.成员运算:判断的是key
d={'k1':1,'k2':2,'k3':3}
print('k1'in d)
print('k1'not in d)

5.删除
5.1 通用删除
d={'k1':1,'k2':2,'k3':3}
del d['k1'] 没有返回值
print(d)

5.2. d.pop():根据key删除,返回删除key对应的那个值
d={'k1':1,'k2':2,'k3':3}
res=d.pop('k1')
print(res,d)

5.3 d.popitem() 随机删除,返回元组(删除的key:value)
d={'k1':1,'k2':2,'k3':3}
res=d.popitem()
print(res,d)

6.键d.keys(),值d.valus() ,键值对d.items(),在python2和python3中的区别
python2: d.keys(),d.valus() ,d.items() 拿到的是列表,一筐鸡蛋
python3: ~~获得的是迭代器,能下任意数量鸡蛋的老母鸡
想跟python2 一样获得列表的方法:print(list(keys()))


五.需要掌握的内置方法
1. clear:清空字典,删除所有键值对
d={'k1':111}
d.clear()
print(d)

2. update:更新字典,key存在修改老字典中的value 不存在的添加key:value
d={'k1':111}
d.update({'k1':222,'k2':333})
print(d)

3. get:根据key取值,容错性好
d={'k1':111}
print(d.get('k1')) # 111
print(d.get('k2')) # key不存在不报错,返回None

4. setdefalut: key有则不添加,返回key对应的值;没有key则添加,返回添加的值
info={'name':'egon'}
res=info.setdefault('name','egon')
print(res)

info={}
res=info.setdefault('name','egon')
print(res)

推荐阅读