2017-10-27 11 views
0

辞書でキーをソートして対応する値を印刷する方法を知りたいですか? ここに私の辞書があります。数字がリストに何回現れるかを数えます。辞書でキーをソートして対応する値を出力する

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 

を取得しかし、私はキーが昇順に表示したい、私はこれをどのように行うことができ、キーの対応する値を保ちますか?

+3

'、ヴァル(d.items()) :print(key、 ':'、val) '? – jonrsharpe

+0

ありがとうございましたjonrsharpe!これはまさに私が探していたものです – ferrou

答えて

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} 
関連する問題