python 中的fromkeys()
函数有助于使用给定的序列和给定的值创建新的字典。
**dictionary.fromkeys(sequence[, value])** #where sequence may be a integers, string etc
fromkeys()
参数:接受两个参数。如果我们从可变(值可以改变)对象列表中创建一个字典,然后可变对象被改变,那么它将反映序列中的每个元素。这是因为每个元素都指向内存中的同一个对象。为了避免这个问题,使用了字典理解。
参数 | 描述 | 必需/可选 |
---|---|---|
顺序 | 用作新字典关键字的元素序列 | 需要 |
价值 | 为字典的每个元素设置的值。默认值为无 | 可选择的 |
fromkeys()
返回值如果给定了 value 参数,新创建的字典的每个元素都将被赋予所提供的值。
| 投入 | 返回值 | | If 参数 | 新字典 |
fromkeys()
方法的示例 # vowels keys
keylist = {'a', 'e', 'i', 'o', 'u' }
vowelslist = dict.fromkeys(keylist)
print(vowelslist)
输出:
{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}
# 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'}
# 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<samp>], 'i': [4, 5]}</samp>