一、items()方法的概述
Python中的字典是一種可變容器模型,且可存儲任意類型的對象。字典中每個鍵值對用冒號(:)分隔,每個對之間用逗號(,)分隔,整個字典包括在花括弧({})中。items()方法是字典類型中的方法,用於將字典中的所有元素以列表方式返回,返回值為一個包含鍵值對元素的列表。
# 示例代碼1
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" % dict.items())
上述代碼中,我們創建了一個名為dict的字典,包含Name和Age兩個鍵值對。使用items()方法將字典轉換為以鍵值對元素組成的列表,最終輸出Value : dict_items([(‘Name’, ‘Zara’), (‘Age’, 7)])。
二、items()方法的使用
(一)for循環遍歷items()方法返回值
items()方法可以和for循環一起使用,便於遍歷字典中的所有元素。
# 示例代碼2
dict = {'Name': 'Zara', 'Age': 7}
for key, value in dict.items():
print(key, value)
在這段代碼中,我們使用for循環遍歷字典dict的items()方法返回值,分別輸出每個鍵和鍵對應的值。
(二)將items()方法返回值轉換為元組
使用items()方法返回的結果列表元素為元組,可以使用for循環來提取每個鍵值對元素,並將其轉換為元組形式,方便後續的操作和處理。
# 示例代碼3
dict = {'Name': 'Zara', 'Age': 7}
tuples_list = []
for key, value in dict.items():
tuples_list.append((key, value))
print(tuples_list)
在這段代碼中,我們使用for循環遍歷字典dict的items()方法返回值,將返回值中的每個鍵值對元素轉換為元組形式,並存儲在tuples_list列表中,最終輸出[(Name, Zara), (Age, 7)]。
(三)items()方法的用法舉例
結合以上示例,我們可以將items()方法應用於更廣泛的場景,例如統計一個字元串中各個字母出現的次數。
# 示例代碼4
str = "hello, world"
dict = {}
for s in str:
if s not in dict:
dict[s] = 1
else:
dict[s] += 1
for k, v in dict.items():
print(k, v)
在這段代碼中,我們需要統計字元串”hello, world”中各個字母出現的次數。我們首先創建一個空字典dict,for循環遍歷字元串,如果字元s沒有出現在字典dict中,則將其加入字典並且初始次數為1,如果字元s已經在字典dict中,則將其次數加1。最終我們使用for循環遍歷字典dict的items()方法返回值,並輸出各個字母出現的次數。
三、items()方法的返回值
items()方法返回值為一個包含鍵值對元素的列表。列表中的每個元素都是一個由鍵和值構成的元組,鍵在前,值在後,元組按照字典順序排列。
# 示例代碼5
dict = {'Name': 'Zara', 'Age': 7}
print(dict.items())
執行以上代碼會輸出dict_items([(‘Age’, 7), (‘Name’, ‘Zara’)]),這是因為items()方法返回的列表按照鍵的字典順序排列,而字典的鍵值對是隨機排序的。
四、items()方法的注意事項
當字典中的值為可變對象時,修改這個可變對象也會同時改變字典中的對應值。例如如果字典中的某個值為列表,我們使用列表的方法修改列表的值,那麼字典中對應的值也會發生變化。
# 示例代碼6
dict_1 = {'class': ['math', 'english']}
list_1 = dict_1['class']
list_1.append('computer')
print(dict_1)
執行以上代碼會輸出{‘class’: [‘math’, ‘english’, ‘computer’]},可以看到字典中的值也隨著列表修改而更新,這是因為字典中保存的是對象的引用,在字典中保存的是對列表的引用,而不是列表本身。
五、總結
Python中的items()方法是字典類型中的方法,用於將字典中的所有元素以列表方式返回。方法可以和for循環一起使用,便於遍歷字典中的所有元素,也可以將返回值轉換成元組。items()方法的注意事項包括:當字典中的值為可變對象時,修改這個可變對象也會同時改變字典中的對應值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293512.html