用於循環處理的 Python 字典(dict):keys()、values()、items()

商業

要使用 for 語句循環遍歷 Python 字典對象的元素,請在字典對像上使用以下方法,該方法也可以與 list() 結合以獲取字典中所有鍵和值的列表。

  • keys():對於每個元素鍵的循環處理
  • values():對於每個元素值的for循環處理
  • items():for循環處理每個元素的key和value

以下字典對像是一個示例。

d = {'key1': 1, 'key2': 2, 'key3': 3}

可以通過在 for 語句中按原樣轉動字典對象來獲得鍵。

for k in d:
    print(k)
# key1
# key2
# key3

keys():對於每個元素鍵的循環處理

如上所述,可以通過在for語句中將字典對象原樣翻轉來獲得鍵,但也可以使用keys()方法。

for k in d.keys():
    print(k)
# key1
# key2
# key3

keys() 方法返回 dict_keys 類。如果要製作列表,可以使用 list() 函數。

keys = d.keys()
print(keys)
print(type(keys))
# dict_keys(['key1', 'key2', 'key3'])
# <class 'dict_keys'>

k_list = list(d.keys())
print(k_list)
print(type(k_list))
# ['key1', 'key2', 'key3']
# <class 'list'>

DICT_KEYS 能夠執行集合操作。

values():對於每個元素值的for循環處理

如果要對每個元素值執行 for 循環處理,請使用 values() 方法。

for v in d.values():
    print(v)
# 1
# 2
# 3

values() 方法返回 dict_values 類。如果要製作列表,可以使用 list() 函數。

values = d.values()
print(values)
print(type(values))
# dict_values([1, 2, 3])
# <class 'dict_values'>

v_list = list(d.values())
print(v_list)
print(type(v_list))
# [1, 2, 3]
# <class 'list'>

因為值可能重疊,所以不支持 dict_values 的設置操作。

items():for循環處理每個元素的key和value

如果要對每個元素的鍵和值都執行 for 循環過程,請使用 items() 方法。

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

(key, value)因此,它可以作為元組接收。

for t in d.items():
    print(t)
    print(type(t))
    print(t[0])
    print(t[1])
    print('---')
# ('key1', 1)
# <class 'tuple'>
# key1
# 1
# ---
# ('key2', 2)
# <class 'tuple'>
# key2
# 2
# ---
# ('key3', 3)
# <class 'tuple'>
# key3
# 3
# ---

items() 方法返回 dict_items 類。如果要製作列表,可以使用 list() 函數。每個元素都是一個元組。
(key, value)

items = d.items()
print(items)
print(type(items))
# dict_items([('key1', 1), ('key2', 2), ('key3', 3)])
# <class 'dict_items'>

i_list = list(d.items())
print(i_list)
print(type(i_list))
# [('key1', 1), ('key2', 2), ('key3', 3)]
# <class 'list'>

print(i_list[0])
print(type(i_list[0]))
# ('key1', 1)
# <class 'tuple'>

DICT_ITEMS 也可以執行集合操作。