Python字典键值对的添加和遍历

Python字典键值对的添加和遍历,第1张

添加键值对

首先定义一个空字典

>>>dic={}

直接对字典中不存在的key进行赋值来添加

>>>dic['name']='zhangsan'

>>>dic

{'name': 'zhangsan'}

如果key或value都是变量也可以用这种方法

>>>key='age'

>>>value=30

>>>dic[key]=value

>>>dic

{'age': 30. 'name': 'zhangsan'}

这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表

从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的

还可以用字典的setdefault方法

>>>dic.setdefault('sex','male')

'male'

>>>key='id'

>>>value='001'

>>>dic.setdefault(key,value)

'001'

>>>dic

{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}

给你看看这个字典 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。并且不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.现思考如下:如何根据需要可以根据“键”或“键值”进行不同顺序的排序?函数原型:sorted(dic,value,reverse)解释:dic为比较函数,value 为排序的对象(这里指键或键值), reverse:注明升序还是降序,True--降序,False--升序(默认)案例:dic = {'a':1 , 'b':2 , 'c': 3}1.print sorted(dic.iteritems(), key = lambda asd:asd[0] ,reverse = True)#结果:[('c', 3), ('b', 2), ('a', 1)]2.print sorted(dic.iteritems(), key = lambda asd:asd[0] )#结果:[('a', 1), ('b', 2), ('c', 3)] ,默认(升序)3.print sorted(dic.iteritems(), key = lambda asd:asd[1] )#结果:[('a', 1), ('b', 2), ('c', 3)]这里介绍两个函数:1.lambda案例:fuc = lambda x:x+ 2print fuc(3) #结果5,意思对于x ,返回 x + 22.iteritems()案例:dic = {'a':1 , 'b':2 , 'c': 3}print dic.iteritems() # 返回字典键-值对的一个迭代器在函数sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键(【0】)或键值(【1】)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11376393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存