Tutorial Study Image

Python fromkeys()

Python 中的 fromkeys() 函数有助于使用给定序列和给定值创建新字典。


dictionary.fromkeys(sequence[, value]) #where sequence may be a integers, string etc
 

fromkeys() 参数

接受两个参数。如果从可变(值可更改)对象列表创建字典,并且之后可变对象发生更改,则它将反映序列中的每个元素。这是因为每个元素都指向内存中的同一个对象。为了避免此问题,可以使用字典推导式。

参数 描述 必需/可选
sequence 用作新字典键的元素序列 必需
value 设置为字典中每个元素的值。默认值为 None。 可选

fromkeys() 返回值

如果给定值参数,则新创建字典的每个元素都将分配指定的值。

输入 返回值
如果参数 新字典

Python 中 fromkeys() 方法的示例

示例 1:如何从键序列创建字典


# vowels keys
keylist = {'a', 'e', 'i', 'o', 'u' }

vowelslist = dict.fromkeys(keylist)
print(vowelslist)
 

输出


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

示例 2:如何从带值的键序列创建字典


# vowels keys
keylist = {'a', 'e', 'i', 'o', 'u' }
value = 'vowel'

vowelslist = dict.fromkeys(keylist, value)
print(vowelslist)
 

输出


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

示例 3:如何从可变对象列表创建字典


# vowels keys
keylist = {'a', 'e', 'i', 'o', 'u' }
value = [4]

vowelslist = dict.fromkeys(keylist, value)
print(vowelslist)

# updating the value
value.append(5)
print(vowelslist)
 

输出


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