Python零基础入门自学笔记
参考教程【Python教程】《零基础入门学习Python》最新版@B站@鱼C-小甲鱼
本文记录的主要是Python中的字典。
映射关系
- 效率会比列表快
0.创建字典
0.0 {:}
a = {'蒋芸':'芸姐','王晓佳':'天草'} #'键':'值'
type(x) # <class 'dict>
a['蒋芸'] #'芸姐'
a['吕一'] = '口口一'
a #{'蒋芸': '芸姐', '王晓佳': '天草', '吕一': '口口一'}
0.1 dict()
b = dict(蒋芸='芸姐',王晓佳='天草',吕一='口口一')
0.2 dict([(,), (,), (,)])
c = dict([('蒋芸','芸姐'), ('王晓佳','天草'), ('吕一','口口一')])
0.3 dict({:})
d = dict({'蒋芸':'芸姐', '王晓佳':'天草', '吕一':'口口一'})
0.4 dict() =混合
e = dict({'蒋芸':'芸姐', '王晓佳':'天草'}, 吕一='口口一')
0.5 dict(zip())
f = dict(zip(['蒋芸','王晓佳','吕一'],['芸姐','天草','口口一']))
1. 使用
1.0 增
x = dict.fromkeys('蒋芸',327)
x #{'蒋': 327, '芸': 327}
x['蒋'] = 1992
x #{'蒋': 1992, '芸': 327}
1.1 删
x.pop('蒋') #1992 返回的是指定键的对应值
x.pop('草') #会异常
x.pop('草','没有') #'没有'
x.pop('芸','没有') #327
x.popitem() #python3.7之后,删除最后一对
del x['芸']
del x #整个字典清空,x不存在
x.clear() #x {} 空字典
1.2 改
update()
y = dict.fromkeys('ftcy')
y.update({'t':327,'c':531})
y.update(f='92',y='93')
y #{'f': '92', 't': 327, 'c': 531, 'y': '93'}
1.3 查
get()
y.get('j','这里没有j')
y.setdefault('Y','爷永爷芸永芸')
y #{'f': '92', 't': 327, 'c': 531, 'y': '93', 'Y': '爷永爷芸永芸'}
1.4 获取视图对象
keys = y.keys() #键
values = y.values() #值
items = y.items() #键值对
1.5 浅拷贝copy
j = y.copy()
1.6 其他
len(y) #键值对数量5
'y' in y #某个键是否存在 True
'327' in y #False
327 in y #False
list(y) #键['f', 't', 'c', 'y', 'Y']
list(y.values()) #值['92', 327, 531, '93', '爷永爷芸永芸']
j = iter(y) #迭代器
next(j) #'f'……5次就没了
2. 嵌套
x = {'芸芸':{'唱歌':98,'跳舞':99},'草草':{'写歌':97,'整活':100}}
x['芸芸']['唱歌'] #98
y = {'芸芸':[98,99],'草草':[97,100]}
y['草草'][1] #100
3. 字典推导式
x = {'f':3,'t':27,'c':5,'y':31}
y = {v:k for k,v in x.items()}
# {3: 'f', 27: 't', 5: 'c', 31: 'y'}