info = {key:value}
字典的value可以为任何值
列表,字典不能作为字典的key
字典key按照哈希表来保存,key会转换成哈希值。
但是字典是无序的
通过索引[key]来找到指定元素
info = {
'k1':18,
2 : True,
'k3':[
11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':(11,22),
}
],
'k4':(11,22,33,44)
}
v = info['k3'][3]['kk3'][1]
print(v)
输出结果:
22
支持for循环,但不支持while循环
info = {
'k1':18,
2 : True,
'k3':[
11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':(11,22),
}
],
'k4':(11,22,33,44)
}
for i in info.keys():
print(i)
输出结果:
k1
2
k3
k4
info = {
'k1':18,
2 : True,
'k3':[
11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':(11,22),
}
],
'k4':(11,22,33,44)
}
for i in info.values():
print(i)
输出结果:
18
True
[11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
(11, 22, 33, 44)
info = {
'k1':18,
2 : True,
'k3':[
11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':(11,22),
}
],
'k4':(11,22,33,44)
}
for i in info.keys():
print(i,info[i])
输出结果:
k1 18
2 True
k3 [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)
获取键值对
info = {
'k1':18,
2 : True,
'k3':[
11,
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk3':(11,22),
}
],
'k4':(11,22,33,44)
}
for k,v in info.items():
print(k,v)
输出结果:
k1 18
2 True
k3 [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)
支持del删除
如果key值重复,只取一个
items,keys,values:
dic = {
'k1':'v1'
}
v = dic.items()
print(v)
输出结果:
dict_items([('k1', 'v1')])
fromkeys函数:通过dict类名调用,根据序列创建字典,并指定统一的值。
传进去两个参数,第一个参数为key,第二个参数为value
dic = {
'k1':'v1'
}
v = dict.fromkeys([('kk1',12),'ab'],123)
print(v)
输出结果:
{('kk1', 12): 123, 'ab': 123}
get函数:根据key获取值,如果key不存在,可以指定默认值(None)
dic = {
'k1':'v1'
}
v = dic.get('k11')
print(v)
输出结果:
None
dic = {
'k1':'v1'
}
v = dic.get('k11',123)
print(v)
输出结果:
123
pop函数:删除并获取值
dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
}
v = dic.pop('k1',90)
print(dic,v)
输出结果:
{'k2': 'v2', 'k3': 'v3'} v1
如果要删除的key不存在,返回后面的参数
dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
}
v = dic.pop('k11',90)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} 90
popitem:后面没有参数,随机删除
dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
'k4':'v4',
}
v = dic.popitem()
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} ('k4', 'v4')
setdefault函数:
设置值,如果已经存在,是获取当前key对应的值。
如果不存在,将传进去的参数设置为value
1.dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
'k4':'v4',
}
v = dic.setdefault('k1',123)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'} v1
2.dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
'k4':'v4',
}
v = dic.setdefault('k111',123)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4', 'k111': 123} 123
update函数:
1.dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
}
dic.update(k1=123,k4='abc')
print(dic)
输出结果:
{'k1': 123, 'k2': 'v2', 'k3': 'v3', 'k4': 'abc'}
update默认将参数转换成字典形式
dic = {
'k1':'v1',
'k2':'v2',
'k3':'v3',
}
dic.update({'k1':123,'k4':'abab'})
print(dic)
输出结果:
{'k1': 123, 'k2': 'v2', 'k3': 'v3', 'k4': 'abab'}