在 Python 中将所有字典值设置为 0

在 Python 中将所有字典值设置为 0

Set all dictionary values to 0 in Python

使用该dict.fromkeys()方法将所有字典值设置为 0,例如
my_dict = dict.fromkeys(my_dict, 0). dict.fromkeys()方法创建一个新字典,其中包含提供的可迭代对象中的键和设置为提供的值的值。

主程序
my_dict = { 'first': 1, 'second': 2, 'third': 3, } my_dict = dict.fromkeys(my_dict, 0) print(my_dict) # 👉️ {'first': 0, 'second': 0, 'third': 0}

我们使用该dict.fromkeys()方法将所有字典值设置为零。

dict.fromkeys

方法接受一个可迭代对象和一个值,并使用可迭代对象中的键和设置为提供的值的值创建一个新字典

主程序
# 👇️ {'a': None, 'b': None, 'c': None} print(dict.fromkeys({'a': 'bobby', 'b': 'hadz', 'c': 'com'})) # 👇️ {'a': 0, 'b': 0, 'c': 0} print(dict.fromkeys({'a': 'bobby', 'b': 'hadz', 'c': 'com'}, 0))

如果您不想就地更改字典,请将调用的输出分配
dict.fromkeys()给一个新变量。

主程序
my_dict = { 'first': 1, 'second': 2, 'third': 3, } new_dict = dict.fromkeys(my_dict, 0) print(new_dict) # 👉️ {'first': 0, 'second': 0, 'third': 0}

或者,您可以使用字典理解。

使用字典理解将所有字典值设置为 0

使用字典理解将字典中的所有值设置为0,例如
my_dict = {key: 0 for key in my_dict}dict comprehension 遍历字典并将每个键的值设置为 0。

主程序
my_dict = { 'first': 1, 'second': 2, 'third': 3, } my_dict = {key: 0 for key in my_dict} print(my_dict) # 👉️ {'first': 0, 'second': 0, 'third': 0}

字典理解与列表理解非常相似。

他们对字典中的每个键值对执行一些操作,或者选择满足条件的键值对的子集。

在每次迭代中,我们将键的值设置为零并返回结果。

或者,您可以使用简单的for循环。

使用 for 循环将所有字典值设置为 0

要将字典中的所有值设置为 0:

  1. 使用for循环迭代字典的副本。
  2. 将每个键的值设置为零。
  3. 最后一次迭代后,字典中的所有值都将设置为 0。
主程序
my_dict = { 'first': 1, 'second': 2, 'third': 3, } for key in my_dict.copy(): my_dict[key] = 0 print(my_dict) # 👉️ {'first': 0, 'second': 0, 'third': 0}

我们dict.copy()在迭代时使用了创建字典浅拷贝的方法。

这是必要的,因为我们不允许迭代一个对象并同时修改它。

在每次迭代中,我们将当前键的值设置为0

如果您不想修改原始字典,请声明一个单独的变量。

主程序
my_dict = { 'first': 1, 'second': 2, 'third': 3, } new_dict = {} for key in my_dict: new_dict[key] = 0 print(new_dict) # 👉️ {'first': 0, 'second': 0, 'third': 0}

我们没有修改现有字典,而是在新字典中将所有键设置为 0。

我们没有修改正在迭代的字典,所以我们不必使用该dict.copy()方法。

发表评论