一個字典可能只包含幾個鍵值對,也可能包含數百萬個鍵值對,所以Python支持字典遍歷。字典可用於以各種方式存儲信息,因此有多種遍歷字典的方式:可遍歷字典的所有鍵值對、鍵或值。 # 1.遍歷所有的鍵值對 其語法格式: ![image](https://img2023.cnblogs.com/blog/ ...
一個字典可能只包含幾個鍵值對,也可能包含數百萬個鍵值對,所以Python支持字典遍歷。字典可用於以各種方式存儲信息,因此有多種遍歷字典的方式:可遍歷字典的所有鍵值對、鍵或值。
1.遍歷所有的鍵值對
其語法格式:
比如遍歷一個人的信息,編寫程式如下所示:
這裡,我們給鍵起了一個變數名叫key,給值起了一個變數名叫value,當然叫法是任意的,只不過要遍歷鍵值對,必須要有兩個變數,第一個變數轉載鍵,第二個變數裝載值。
與遍歷列表不同的是,in關鍵字後面是字典變數名.items()。這裡的字典變數名.items()最終的執行結果是返回一個該字典的鍵值對列表,接下來for迴圈依次將每個鍵值對的鍵和值存儲到指定的兩個變數中。
2.遍歷字典中的所有鍵
在不需要使用字典中的值時,這裡就不需要items函數了,而是需要keys函數,keys函數返回的是包含字典中所有鍵的列表。其語法格式:
比如調查了部分學員學習python的時間,編寫程式如下所示:
遍歷字典時,會預設遍歷所有的鍵,因此如果將上述代碼的for key in people.keys(): 改為for key in people,輸出將不變。編寫程式如下所示:
在這種迴圈中,可使用當前鍵來訪問與之相關聯的值,比如我們我們遍歷鍵的同時,用當前鍵值對信息輸出一條語句。編寫程式如下所示:
3.遍歷字典中的所有值
如果我們想要獲取字典中包含的值,可使用values函數,它返回一個值列表,而不包含任何鍵。
比如我們想著獲取學員的學習時間,編寫程式如下所示:
我們通過輸出結果發現,有兩個3個月的輸出,是因為這種做法提取字典中的所有值,而沒有考慮是否重覆。要想去除重覆項,這裡就需要集合,集合後面會有所介紹,在這裡我們先引用下,集合類似於列表,但每個元素都必須是獨一無二的
其語法格式:set(列表變數)
編寫程式如下所示:
通過對包含重覆數據元素的列表調用set函數,可讓Python找出列表中獨一無二的元素,並使用這些元素來創建一個集合。通過set函數,我們發現原先兩個3個月的輸出,變為了1個3個月的輸出了。