在 Python 中將字典轉換為列表

  1. 在 Python 中使用 keys() 方法將鍵從字典轉換為列表
  2. 在 Python 中使用 values() 方法將字典中的值轉換為列表
  3. 在 Python 中把字典轉換為元組列表

Python 中的字典是由鍵-值對組合而成。在 key 的幫助下,你可以訪問字典裡面的值。現在,在 Python 中把一個字典轉換為一個列表可能意味著不同的事情。要麼是

  1. 你可以將鍵分開,並將其轉換為一個列表。
  2. 你可以將值分開,並將其轉換為一個列表。
  3. 將字典中的鍵和值對轉換為元組列表。

在 Python 中使用 keys() 方法將鍵從字典轉換為列表

假設你有一個名為 dictionary 的字典,有四鍵值對。

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfKeys = dictionary.keys()
print("Type of variable listOfKeys is: ", type(listOfKeys))

listOfKeys = list(listOfKeys)

print("Printing the entire list containing all Keys: ")
print(listOfKeys)

print("Printing individual Keys stored in the list:")

for key in listOfKeys:
    print(key)

輸出:

Type of variable listOfKeys is:  <class 'dict_keys'>

Printing the entire list containing all Keys: 
['a', 'b', 'c', 'd']

Printing individual Keys stored in the list:
a
b
c
d

你可以使用 keys() 方法,它將從字典中提取所有 keys,然後將結果(所有 keys)儲存在變數 listOfKeys 中。

現在你必須在 list() 函式的幫助下將變數 listOfKeys 轉換成一個列表,因為此時如果你檢查變數 listOfKeys 的型別,那麼它將是 <class 'dict_keys'>。這就是為什麼我們要將變數的型別改為 List,然後將其儲存在同一個變數中,即 listOfKeys

至此,你已經成功地使用 keys() 函式將所有鍵從字典中分離出來,並將它們轉換為一個列表。最後,要列印列表中的元素,你必須使用 for 迴圈,它遍歷每個元素並列印它。

在 Python 中使用 values() 方法將字典中的值轉換為列表

values() 方法的工作方式與 keys() 方法相同。唯一的區別是 values() 方法返回所有的字典值而不是鍵。

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

listOfValues = dictionary.values()
print("Type of variable listOfValues is: ", type(listOfValues))

listOfValues = list(listOfValues)

print("Printing the entire list containing all values: ")
print(listOfValues)

print("Printing individual values stored in the list:")

for val in listOfValues:
    print(val)

輸出:

Type of variable listOfValues is:  <class 'dict_values'>

Printing the entire list containing all values: 
['Apple', 'Banana', 'Cherries', 'Dragon Fruit']

Printing individual values stored in the list:
Apple
Banana
Cherries
Dragon Fruit

你在 dictionary 上使用 values() 函式,然後將 values() 函式返回的結果儲存在變數 listOfValues 中。

如果你檢查變數 listOfValues 的型別,那麼它的型別將是 <class 'dict_values'> 類。但你希望它是 <class 'list'> 類。因此,你必須使用 list() 函式將變數 listOfValues 轉換為一個列表,然後將結果儲存在同一個變數中,即 listOfValues

最後,使用迴圈列印列表 listOfValues 內的所有值。

在 Python 中把字典轉換為元組列表

一個字典可以通過兩種方式轉換成一個元組列表。一種是 items() 函式,另一種是 zip() 函式。

1. items() 函式

items() 函式將字典元素轉換為 <class 'dict_items'>,其結果儲存在 myList 變數中。myList 需要被轉換為一個列表,因此,你必須使用 list() 函式將其型別化,然後將結果儲存在同一個變數中,即 myList

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.items()
print(type(myList))

myList = list(myList)

print(myList) 

輸出:

<class 'dict_items'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

2. zip() 函式

zip() 函式需要兩個引數,第一個是使用 keys() 函式的 key,第二個是使用字典中的 values() 函式的 value。然後它返回一個 zip 物件,你可以將其儲存在一個變數中,在本例中,myList

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = zip(dictionary.keys(), dictionary.values()) 
print(type(myList))

myList = list(myList)

print(myList) 

輸出:

<class 'zip'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

現在你必須使用 list() 函式將 zip 物件轉換成 list。然後,你可以將最終的結果儲存在同一個名為 myList 的變數中,或者根據你的要求儲存在不同的變數中,最後列印整個列表。

3. Python 2.x 中的 iteritems()

在 Python v2.x 中,你還有一個 iteritems() 函式,它的工作方式和 items() 函式幾乎一樣。

iteritems()dictionary 中獲取每個元素並將其轉換為不同的型別。如果你檢查變數 myList 的型別,它將是 <type 'dictionary-itemiterator'> 型別。所以,你必須使用函式 list() 將其轉換為 List。如果你檢查變數 myList 的型別,那麼它的型別將是 <type 'list'>,如果你列印它,那麼元素將以一個元組列表的形式出現。

dictionary = {'a': 'Apple', 'b': 'Banana', 'c': 'Cherries', 'd': 'Dragon Fruit'}

myList = dictionary.iteritems()
print("Type of myList is: ",type(myList))

myList = list(myList)
print(myList)

輸出:

('Type of myList is: ', <type 'dictionary-itemiterator'>)

[('a', 'Apple'), ('c', 'Cherries'), ('b', 'Banana'), ('d', 'Dragon Fruit')]

確保你在 Python v2.x 編譯器上執行上述程式碼;否則,你會得到一個錯誤,因為在 Python v3.x 中沒有此方法。

相關文章 - Python Dictionary

  • Python 中的字典陣列或列表
  • 在 Python 中搜尋字典列表
  • 相關文章 - Python List

  • Python 中轉換集合為列表
  • 在 Python 中將列表轉換為小寫