python辞書を巡るいくつかの方法

1631 ワード

pythonの辞書はとても便利で、よく使われる遍歴方法は以下のいくつかあります.
1.keyによる遍歴
myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}

# 1.  key  
for key in myDict:
    print(key+": "+ str(myDict[key]) )
for key in myDict.keys():
    print(key + ": " + str(myDict[key]))
# output:
# C: 98.2
# C++: 98.4
# Java: 97.5
# Python: 99.5

2.value通りに巡る
myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}

# 2.  value  
for value in myDict.values():
    print(value)
# output:
# 98.2
# 98.4
# 97.5
# 99.5

 3. itemで巡る
myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}

# 3.  item  
for item in myDict.items():
    print(item[0] + ": " + str(item[1]))
# output:
# C: 98.2
# C++: 98.4
# Java: 97.5
# Python: 99.5

 4. key-valueペアで巡る
myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}

# 4.  key-value   
for key,value in myDict.items():
    print(key+": "+str(value))
# output:
# C: 98.2
# C++: 98.4
# Java: 97.5
# Python: 99.5

5.sortedでソートしてから巡回することもできます.ここではvalueでソートし、デフォルトのreverse=Falseは昇順でソートします.
myDict = {"C":98.2,"C++":98.4,"Java":97.5,"Python":99.5}

# 5.     sorted     ,    value  ,   reverse=False     
sort_list = sorted(myDict.items(),key=lambda x:x[1],reverse=True)
for item in sort_list:
    print(item[0]+": "+str(item[1]))
# output:
# Python: 99.5
# C++: 98.4
# C: 98.2
# Java: 97.5