Python字典fromkeys()方法

2025 年 6 月 12 日 | 阅读 4 分钟

Python 中的 dictionary fromkeys() 方法 返回一个字典,其中键映射到 'value' 参数中给定的值。 它不会更改给定的字典中的任何内容,而是创建一个新的 字典,其中包含指定的值序列。

Python 字典中 fromkeys() 方法的语法

以下是字典 fromkeys() 方法的语法

语法

参数

  • 键 (必需): 此参数表示要转换为字典的键。
  • 值 (可选): 它表示所有键的值。 默认值设置为 None。

注意:您在 value 参数中指定的值会分配给字典的所有键。

返回值

此方法返回带有键的字典。 如果键映射到 none,则它不返回值,否则它返回为该字段提供的相应值。

字典 fromkeys() 的示例

我们现在将看一些字典 fromkeys() 方法的示例。

示例 1:fromkeys() 方法的工作方式

此示例显示了 fromkeys() 方法在 Python 中是如何工作的。

示例

立即执行

输出

Dictionary 1 (without values): {'o': None, 'i': None, 'a': None, 'e': None, 'u': None}
Dictionary 2 (with default value): {'o': 'vowel', 'i': 'vowel', 'a': 'vowel', 'e': 'vowel', 'u': 'vowel'}

说明

在此示例中,我们使用了 fromkeys() 方法来创建一个具有给定键集的字典。 由于我们在第一种情况下未定义值,因此初始化的字典中键的默认值设置为 None。

但是,当我们初始化一个变量并将其作为 fromkeys() 方法中的默认值传递时,我们得到一个新的字典,其中包含键和用户指定的默认值。

示例 2:显示 fromkeys() 方法与可变对象一起使用的示例

此示例显示了 fromkeys() 方法在 Python 中如何与可变对象一起使用。

示例

立即执行

输出

Dictionary 1 (with Default value as a List): {'s': [2, 5], 'p': [2, 5], 't': [2, 5], 'r': [2, 5], 'q': [2, 5]}
Updated List 1: [2, 5, 9]
Dictionary 1 (with Updated List as Values): {'s': [2, 5, 9], 'p': [2, 5, 9], 't': [2, 5, 9], 'r': [2, 5, 9], 'q': [2, 5, 9]}

Dictionary 2 (with Default value as a List): {'s': [3, 7], 'p': [3, 7], 't': [3, 7], 'r': [3, 7], 'q': [3, 7]}
Updated List 2: [3, 7, 8]
Dictionary 2 (with Updated List as Values): {'s': [3, 7], 'p': [3, 7], 't': [3, 7], 'r': [3, 7], 'q': [3, 7]}

说明

在上面的示例中,我们使用了一个列表作为字典的值。 可变对象是可以修改的元素,例如列表、字典等。

在这里,您可以看到当我们使用 append() 函数更新列表时,键也使用新值进行了更新。 这是因为每个元素都指向内存中的相同地址。

结论

Python 中的 fromkeys() 函数通过将键序列映射到值来返回字典。 如果用户未在字典的 value 参数中指定任何内容,则默认情况下,None 分配给键。 当您想要使用默认值初始化字典时,这非常有用。

Python 字典 fromkeys() 方法常见问题解答

1. 在 Python 中使用 fromkeys() 函数的目的是什么?

fromkeys() 方法通过将一个公共值映射到字典的所有键来返回一个新的字典。

2. fromkeys() 可以接受任何可迭代对象作为键吗?

是的,fromkeys() 方法接受任何可迭代对象,例如 列表元组集合,甚至 字符串

3. fromkeys() 会更改现有字典吗?

不,此方法不会更改原始方向; 相反,它通过将一个公共值映射到其所有键来返回一个新的字典。