Python的字典

1.语法: {'key':'value','key1':'value1'}
#names = {'jhj':[18,'女','东北'],
# 'zxf':{'age':19,'sex':'男','addr':'内蒙'}} #定义字典
2.增:
#names['nhy']=[20,'男','北京'] #如果原来不存在新增,如果原来存在即覆盖
3.删:3种方法,del,pop(),popitem(),前2种删除一个不存在的值都会报错,官方推荐用pop()
#1)del names['nhy']
#2)names.pop('msr')
#3)names.popitem() #随机删除一个key
4.改:必须把所有字段都写上,只在原字典元素组成的基础上改变某个value的值,如果只是写要改的值会被替换
#names = {'jhj':[18,'女','东北'],
# 'zxf':{'age':19,'sex':'男','addr':'内蒙'}}
#names['jhj']=[18,'女','北京'] #这样是正确的修改方式
#names['jhj']=['内蒙'] #这样会把原有的值替换,'jhj'的值就只有'内蒙'一个值了。
5.查:2种方式
#1)print(names['jhj'])
#2)get方法,查询一个不存在的值时返回none,不会报错,第一种会报错
#print(names.get('zxf')) #打印结果:none
6.内置方法:
#1)keys()返回字典所有key的值
#print(names.keys())
#2)values()返回字典所有value的值
#print(names.values())
#3)setdefault()赋值
#names.setdefault('msr':['女','18'])#这种方法也可以赋值,和直接赋值的方式的区别在于,如果该key存在则不会更改key的值,如果key不存在新增
#4)update 扩展字典
#names = {'jhj':[18,'女','东北'],'zxf':{'age':19,'sex':'男','addr':'内蒙'}}
#new_names= {'zzj':['18','bj']}
#names.update(new_names)
#print(names) #打印结果:{'zxf': {'sex': '男', 'age': 19, 'addr': '内蒙'}, 'zzj': ['18', 'bj'], 'jhj': [18, '女', '东北']}
#5)has_key判断有无该key  #Python2中有该方法,Python3中无此方法
#names.has_key('123')
#6)python3可以通过以下这种方法判断是否有这个key,返回布尔值
#print('zzj' in names)
#7)获取所有key的值
#for k in names: #字典里循环,循环的是字典的key
#print(k) #打印的是所有key的值
#8)items()获取字典中key和value对应的值,items方法是把字典转换成2个元组(列表)
#for k,v in names.items():
#print(k,v) #返回字典中key和value对应的值
》》》
#for k in names:
#print(k,names[k]) #也可以获取字典中key和value对应的值
#9)以上2种取key和value值的区别
#.items的方法会先转成列表,再从列表中一个一个取值
#字典的方法会比.items方法快,因为字典会很快取出对应的key和value
原文地址:https://www.cnblogs.com/musr/p/6059407.html