在 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:
- 使用
for
循环迭代字典的副本。 - 将每个键的值设置为零。
- 最后一次迭代后,字典中的所有值都将设置为 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()
方法。