python Day7:dict的一些知识点

时间:2023-01-30 09:04:44

(1)fromkeys的用法:

dict.fromkeys( seq ,value)
seq可以为元组,也可以为列表,但必须是不可变的,
如下:
aDict={}.fromkeys(['g','h','k','l'],300)

aDict
输出:
{'g': 300, 'h': 300, 'k': 300, 'l': 300}


(2)字典是无序存储的,

sorted(aDict)
返回的是一个key对应的list,

name=['Dave','Jane','Vera','Lois']
score=[1,2,3,4,5]
dict(zip(name,score))

Out:{'Dave': 1, 'Jane': 2, 'Vera': 3}

zip函数可以将字典的key与value一一对应,字典内元素的个数取key与value的最小值。

不使用zip函数
对列表pList=[('a','b',1),('c','d',2),('e','f',3),('g','h',4)],想要取出其中每个元素第一三个元素形成字典
pList=[('a','b',1),('c','d',2),('e','f',3),('g','h',4)]
aDict = {}
for data in pList:
    aDict[data[0]] = data[2]
print(aDict)
Out:{'a': 1, 'c': 2, 'e': 3, 'g': 4}

(3).keys(),.values()和.items(), .update()

.keys()和.values(),分别以列表输出key和value的值

for k,v in aDict.items():
    print(k,v)
    
a 1
c 2
e 3
g 4

.update()会保留不变的原有的值,更新改变的和添加的值,

aDict.update(bDict)

(4).clear()

特别注意的是,a.clear()则a为{}

c=a,a.clear,c和a均为{}

(5).get()

print(aDict.get('a'))

判断是否有键值a;