我想知道如何按键对字典进行排序,然后打印相应的值? 这是我的词典,它计算一个数字出现在列表中的次数。
L=[1,2,1,5,9,7,8,0,3]
d = {}
for i in L:
if i in d : d[ i ] += 1
else : d[ i ] = 1
val= list(d.keys())
frequency= list(d.values())
for i in range(len(d)):
print(val[i],":",frequency[i])
我得到了
1 : 2
2 : 1
5 : 1
9 : 1
7 : 1
8 : 1
0 : 1
3 : 1
但我希望按键以升序显示,我该怎么做并保留密钥的相应值?
答案 0 :(得分:0)
您可以尝试:
print(sorted(d.items(), key=lambda x: x[0]))
第二个选项可以是:
import operator
sorted_x = sorted(d.items(), key=operator.itemgetter(0))
print({k[0]:k[1] for k in sorted_x})
结果:
{0: 1, 1: 2, 2: 1, 3: 1, 5: 1, 7: 1, 8: 1, 9: 1}