字典是一种键:值的形式,我们前面分享的文章学习了列表[],元祖(),字典是由{}引起来的,列表的键对应的是列表的下标,而字典的值对应的是字典的键,我们可以通过字典的键来获取字典的值
元组和列表是有序的
字典由两个特性:
第一:无序性
第二:不可重复,键必须唯一,后面的会覆盖前面的
注:想学习Python的小伙伴们
可以
进群:984137898
常用增删改查api的演示
文本代码
arr={
'one':"huan",
'two':"feng",
'three':"de",
'five':"five",
}
print("全部数据",arr)
#获取数据
print("取出数据键为one的",arr['one'])
#如果键没有为one的就会出错,可以通过get方法来获取数据
print("取出数据键为one的get方式",arr.get('one'))
print("取出数据键为ononon的get方式数据不存在返回none",arr.get('ononon'))
#删除数据
del arr['two']
print("删除键为two的",arr)
arr.pop('three')
print("删除键为three",arr)
#修改数据
arr['one']='oneone'
print("修改键为one的值为oneone",arr)
#增加数据,弄一个没有的键,直接复制
arr['six']="six"
print("增加一个six",arr)
#判断一个字典中是否有数据
print("判断一个字典中是否有键为one的",'one' in arr)
列表中值还可以是列表多层嵌套
其它的api
打印一个列表中所有的键
print(arr.keys())
打印一个列表中所有的值
print(arr.values())
列表中添加数据
我们可以直接使用列表名[键名]=值来添加数据,但是这种方式添加数据的问题在于,后面添加的如果和已经存在的键相同那么就会产生覆盖问题
还有一个添加方法列表名.setdefault(键,值)这种方式如果当前列表中没有原来的键,则添加成功,如果存在原来添加的键则不会添加,这样覆盖问题就解决了
可以看出info.setdefault("1","3")失败了,因为键1原来就存在
两个列表进行合并update,当有重复键的时候哪个字典调用的update方法,哪个被覆盖,其它的全部合并
结果就是info的全部留下,然后没有重复的1:2,3:3也会留下
将一个字典转成一个列表,方法是items()
演示:
这样字典中的每一组键值对都会变成列表中的一个元组
可以使用fromkeys() 函数用于创建一个初始化字典,方法为:
[1,2,3]为字典的键,而"huan"为每个字典的初始值
一个改变另外一个不会变,这是值为一级的时候,如果值为一级以上就会出现浅copy的情况,一个改变,全部 都变。
可以看出{3}为二级,所以一个改变,全部都改变了
字典的循环
i为键,info[i]为值
第一个参数是键,第二个参数是值