Python 字典 fromkeys() 方法



Python 字典 fromkeys() 方法用於根據給定的可迭代物件建立新的字典,其鍵來自可迭代物件,值由使用者提供。 鍵可以是集合、元組、字串、列表或任何其他可迭代物件,我們可以用它們來建立字典。

可迭代物件是可以迭代(迴圈)的物件。 可迭代物件中的元素將成為字典的鍵。

語法

以下是 Python 字典 fromkeys() 方法的語法:

dict.fromkeys(seq, [value])

引數

此方法接受兩個引數,如下所示

  • seq: 序列是一個可迭代物件,它將使用鍵來形成一個新的字典。

  • value (可選): 它是字典中每個鍵的值。 如果未指定值,則其預設值為 None。

返回值

此方法返回一個新字典。

示例

如果未提供字典的值,則此方法返回預設值“None”。

以下示例顯示了 Python 字典 fromkeys() 方法的用法。 在這裡,我們提供了鍵:'name'、'age' 和 'sex'。 未為提供的鍵指定值。 因此,使用 fromkeys() 方法將預設值 None 分配給每個鍵。

seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("New Dictionary : %s" %  str(dict))

執行上述程式時,會產生以下結果:

New Dictionary : {'name': None, 'age': None, 'sex': None}

示例

如果我們將值作為引數傳遞給此方法,它將針對每個鍵返回相同的值。

現在,我們將值“10”作為引數傳遞給 fromkeys() 方法。 結果,此值將指定給字典的每個鍵。

seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
# providing a value 10
value = 10
dict = dict.fromkeys(seq, value)
print ("New Dictionary : %s" %  str(dict))

以下是上述程式碼的輸出:

New Dictionary : {'name': 10, 'age': 10, 'sex': 10}

示例

在下面的程式碼中,列表用作字典的值。 可迭代列表是一個可變物件,這意味著它可以被修改。 在這裡,列表值使用 append() 函式進行更新。 然後,鍵將與更新的值以及先前提供的值一起分配。 這是因為每個元素指向記憶體中的同一地址。

the_keys = {'b', 'c', 'd', 'f', 'g' }
# the list
value = [5]
consonants = dict.fromkeys(the_keys, value)
print('The consonants are: ', consonants)
# updating the value of the list
value.append(10)
print('The updated dictionary is: ',consonants)

上述程式碼的輸出如下:

The consonants are:  {'c': [5], 'b': [5], 'f': [5], 'g': [5], 'd': [5]}
The updated dictionary is:  {'c': [5, 10], 'b': [5, 10], 'f': [5, 10], 'g': [5, 10], 'd': [5, 10]}

示例

在下面的示例中,建立一個字典,其中字串用作鍵引數。 因此,使用 fromkeys() 方法,字串的每個字元都將作為結果字典中的鍵。 值“King”分配給所有鍵。

Animal = 'Lion'
value = 'King'
print('The string value is: ', value)
d = dict.fromkeys(Animal, value)
print('The dictionary is: ', d)

執行上述程式碼時,我們得到以下輸出:

The string value is:  King
The dictionary is:  {'L': 'King', 'i': 'King', 'o': 'King', 'n': 'King'}
python_dictionary.htm
廣告