python dict

字典dict特点:无序,键唯一(键值对)
字典占用的空间比list的大,是采用空间换取时间。
如果有2个键,后一个键对应的值会覆盖前一个键对应的值。
键是唯一的,且是不可变数据类型。

创建

#字典的创建
name1={
    112:{"name":"lizhi","age":27},
    113:{"name":"zouyuncheng","age":24},
} 

name2={
    113:{"name":"zouruncheng","age":25},
    115:{"name":"hanxingyu","age":24},
}

name1[114]={"name":"gaoyue","age":25}   #字典的键是唯一的,且字典是无序存储的(像list有序,需要维护额外的序号列表)
print(name1)

#del name1[114]

print(name1.pop(114))
print(name1)

同时添加多个元素或一个字典

name1.update(name2) #将name2的元素添加到name1。若name1中存在,则覆盖name1中的该元素


print(name1)
name1.setdefault(118,"000")
print(name1)

name1[112]["name"]="lizhi1111"
print(name1)

print(name1)   #打印所有
print(name1[112])   #打印下表为112的元素
print(name1.get(113)) 
print(113 in name1)
print(name1.keys())
print(name1.values())

遍历

for i in name1:
    print(i,name1[i])

for k,v in name1.item:  #不推荐使用,效率很低
    print (k,v)

其他

dic=dict()
dic=dic.fromkeys([1,2,3],"aaa")
print(dic)   #{1: 'aaa', 2: 'aaa', 3: 'aaa'}

快速生成字典

info= {1:"a",2:"b"}
info=info.fromkeys([4,5,6,7],["a","b"])
print(info)
result:
{4: ['a', 'b'], 5: ['a', 'b'], 6: ['a', 'b'], 7: ['a', 'b']}
原文地址:https://www.cnblogs.com/yangzhenwei123/p/6758921.html