字典

#key -value

#string lis dict

#1、取数据方便
#2、速度快

infos={'name':'张流量','sex':'男','addr':'火星','age':'18'}

print(infos.get('name')) #获取value值

print(infos['name']) #获取value值

#区别
d['k']  #查询不到会报错

d.get('k')
print(d.get('k',-1)) 
#查询不到会报none,获指定默认值


#输入1个不存在的key
print(infos.get('name1')) #获取value值 直接取的None
print(infos.get('name1',110)) #获取value值 如果取不到,默认取110
print(infos['name2']) #获取value值 直接报错

#字典是无序的,因为他不需要用下标取值
#增加
infos['phone']=13347483767 #增加一个key
infos.setdefault('money','2000') #增加一个key
infos.setdefault('name','3000') #name值是原有的,用setdefalut修改后无变化
infos['name']='于萍' #name值是原有的,用中括号修改后变化成修改后的值
print(infos)

#字典类型合并,字典类型合并是不适用于加符号的
a={"k1":"v1"}
b={"k2":"v2"}
a.update(b)
print(a)


#删除
infos={'name':'张流量','sex':'男','addr':'火星','age':'18'}

infos.pop('name')

#结果:{'sex': '男', 'addr': '火星', 'age': '18'}

#随机删除
infos.popitem()

del infos['sex'] #指定key删除

print(infos)

#查询infos={'name':'张流量','sex':'男','addr':'火星','age':'18'}
print(infos.values())

print(infos.keys())

print(infos.items())

结果:

dict_values(['张流量', '男', '火星', '18'])
dict_keys(['name', 'sex', 'addr', 'age'])
dict_items([('name', '张流量'), ('sex', '男'), ('addr', '火星'), ('age', '18')])

字典取值小练习

people={'于萍':
{'age':19,
'sex':'girl',
'car':['一汽大重','五菱红光','奔驰'],
'like':['sport','swming']
},
'李梦':
{'age': 24,
'sex': 'boy',
'hose': ['智学院', '龙兴园南区', '龙兴园北区'],
'like': ['sport', 'swming']
}
}

# print(people)

#取出龙兴园北区的值

print(people['李梦']['hose'][2])

#在like中增加run 针对列表增加

people['李梦']['like'].append('sun')

print(people)

#修改李梦的年龄=27

people['李梦']['age']+=3

people['李梦']['age']=people['李梦']['age']+3

print(people)

#字典循环取值
people={'于萍':
{'age':19,
'sex':'girl',
'car':['一汽大重','五菱红光','奔驰'],
'like':['sport','swming']
},
'李梦':
{'age': 24,
'sex': 'boy',
'hose': ['智学院', '龙兴园南区', '龙兴园北区'],
'like': ['sport', 'swming']
}
}

#默认对最外层的字典做循环,同keys()的结果是一样的
for i in people:
print(i)
#只循环展现字典中所有的值
for k in people.values():
print(k)
#只循环展现字典中所有的key
for k in people.keys():
print(k)
#循环展现字典中所有的key和value
for k,v in people.items():
print(k,v)



原文地址:https://www.cnblogs.com/ruijie/p/10076411.html