关于字典的应用

1.字典排序

利用key排序

d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
for k in sorted(d):
    print(k,d[k])

d1 2
d2 4
d3 3
d4 1

利用value排序:__getitem__

d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
for k in sorted(d,key=d.__getitem__):
    print(k,d[k])

d4 1
d1 2
d3 3
d2 4

反序: reverse=True

d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
for k in sorted(d,key=d.__getitem__,reverse=True):
    print(k,d[k])

d2 4
d3 3
d1 2
d4 1

对dict_items进行排序

d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
res = sorted(d.items(),key=lambda d:d[1],reverse=True)
print(res)

结果:[('d2', 4), ('d3', 3), ('d1', 2), ('d4', 1)]

2.两个字典(dict)合并

dict1 = { "name":"owen", "age": 18 }
dict2 = { "birthday": "1999-11-22", "height": 180 }

合并两个字典得到:{ "name":"owen", "age": 18, "birthday": "1999-11-22", "height": 180 }

方法1:

dictMerged1 = dict( dict1.items() + dict2.items() )

方法2:

dictMerged2 = dict( dict1, **dict2 )

方法 2 等同于:

dictMerged2 = dict1.copy()
dictMerged2.update( dict2 )

#或者
dictMerged2 = dict( dict1 )
dictMerged2.update( dict2 )

方法 2 比方法 1 速度快很多, 可以用 IPython 测试效率
来源于:https://blog.csdn.net/u010649766/article/details/78661714

原文地址:https://www.cnblogs.com/hankleo/p/12911651.html