說說在 Python 中如何遍歷字典

deniro發表於2019-03-02

說說在 Python 中如何遍歷字典

1 遍歷鍵值對

可以使用一個 for 迴圈以及方法 items() 來遍歷這個字典的鍵值對。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}

for key, value in dict.items():
    print('key=' + key)
    print('value=' + value)
複製程式碼

執行結果:

key=evaporation value=蒸發 key=carpenter value=木匠

key、value 這兩個變數可以任意命名,比如下面的這個示例使用了 word 與 explain:

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}
for word, explain in dict.items():
    print('word=' + word)
    print('explain=' + explain)
複製程式碼

執行結果:

word=evaporation explain=蒸發 word=carpenter explain=木匠

良好的命名習慣,可以編寫出讓人更容易理解的程式碼。

2 遍歷鍵

使用方法 keys() ,可以遍歷字典中的鍵。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}
for word in dict.keys():
    print(word.title())
複製程式碼

執行結果:

Evaporation Carpenter

因為遍歷字典時, 會預設遍歷所有的鍵。所以,我們可以省略方法 keys() 。

for word in dict:
    print(word.title())
複製程式碼

執行結果與上一示例相同。

方法 keys() 還可以用在條件表示式中,用於判斷 key 在字典中是否存在。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}
print('carpenter' in dict)
複製程式碼

執行結果:

True

3 按順序遍歷鍵

可以在 for 迴圈中對返回的鍵進行排序,可以使用 sorted() 函式。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}
for word in sorted(dict):
    print('word:' + word)
複製程式碼

執行結果:

word:carpenter word:evaporation

4 遍歷值

可使用 values() 方法來遍歷字典的值。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠'}
for explain in dict.values():
    print('explain:' + explain)
複製程式碼

執行結果:

explain:蒸發 explain:木匠

有時候需要返回不重複的值。這時,我們可以使用集 合( set) 。 集合類似於列表, 但它所包含的每個元素,都必須是獨一無二的。

dict = {'evaporation': '蒸發',
        'carpenter': '木匠',
        'millman': '木匠'}
print('【包含重複】' + str(dict.values()))
print('【剔除重複】' + str(set(dict.values())))
複製程式碼

執行結果:

【包含重複】dict_values(['蒸發', '木匠', '木匠']) 【剔除重複】{'蒸發', '木匠'}

注意: 字典的 values() 的字串化與 set() 不同。

相關文章