Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對象和類

Python 日期和時間

Python 高級知識

Python 參考手冊

Python 字典 fromkeys() 使用方法及示例

Python 字典方法

fromkeys()方法根據(jù)給定的元素序列創(chuàng)建一個新字典,該字典具有用戶提供的值。

fromkeys()方法的語法為:

dictionary.fromkeys(sequence[, value])

fromkeys()參數(shù)

fromkeys()方法采用兩個參數(shù):

  • sequence -用作新字典鍵的元素序列

  • value(可選) -為字典的每個元素設(shè)置的值

fromkeys()返回值

fromkeys()方法返回一個新字典,該字典具有給定的元素序列作為字典的鍵。

如果設(shè)置了value參數(shù),則新創(chuàng)建的字典的每個元素都將設(shè)置為提供的value值。

示例1:根據(jù)鍵序列創(chuàng)建字典

# 元音鍵
keys = {'a', 'e', 'i', 'o', 'u' }

vowels = dict.fromkeys(keys)
print(vowels)

運行該程序時,輸出為:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

示例2:根據(jù)具有值的鍵序列創(chuàng)建字典

# 元音鍵
keys = {'a', 'e', 'i', 'o', 'u' }
value = 'vowel'

vowels = dict.fromkeys(keys, value)
print(vowels)

運行該程序時,輸出為:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

示例3:從可變對象列表創(chuàng)建字典

# 元音鍵
keys = {'a', 'e', 'i', 'o', 'u' }
value = [1]

vowels = dict.fromkeys(keys, value)
print(vowels)

# 更新的值
value.append(2)
print(vowels)

運行該程序時,輸出為:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}
{'a': [1, 2], 'u': [1, 2], 'o': [1, 2], 'e': [1, 2], 'i': [1, 2]}

如果提供的value是可變對象(可以更改其值),如list,dictionary等,則當修改可變對象時,序列中的每個元素也會更新。

這是因為,為每個元素分配了對同一對象的引用(指向內(nèi)存中的同一對象)。

為避免此問題,我們使用字典理解。

# 元音鍵
keys = {'a', 'e', 'i', 'o', 'u' }
value = [1]

vowels = { key : list(value) for key in keys }
# 你也可以使用 { key : value[:] for key in keys }
print(vowels)

# 更新的值
value.append(2)
print(vowels)

運行該程序時,輸出為:

{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}
{'a': [1], 'u': [1], 'o': [1], 'e': [1], 'i': [1]}

在此,對于keys中的每個鍵,將創(chuàng)建一個新列表從value,并將其分配給它。

本質(zhì)上,value不是分配給元素,而是從中創(chuàng)建一個新列表,然后將其分配給字典中的每個元素。

Python 字典方法

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清