【发布时间】:2014-05-11 07:38:17
【问题描述】:
我想知道如何迭代值并同时更新 python 的字典。为什么下面的代码不起作用?
for values in First_Dict.values():
if True:
Second_Dict= Function(values)
First_Dict.update(Second_Dict)
有一个解决方案,但不是很优雅。它包括一个列表和 iter()。显然,我不在乎钥匙。
tempList = [i for i in First_Dict.values()]
iterator = iter(tempList)
while True:
try:
TempIterator = iterator.next()
except StopIteration:
break
if True:
Second_Dict= Function(values)
for j in Second_Dict.values():
tempList.append(j)
【问题讨论】:
-
您能发布一个示例输入和预期输出吗?不清楚你到底在问什么。
-
您能解释一下您要做什么吗?
Second_Dict是什么?使用相同的参数在同一个字典上多次调用update不会产生任何额外的效果。另外,为什么你有if True? -
@Bill 输入是一个字典,如果条件为真,输出将是更大的字典。
-
@BrenBam:如果值的某些条件为真,我正在尝试随时更新字典。更新将使用另一本词典。内容的类型对于逻辑的工作来说并不重要。
-
@BrenBarn:如果条件为 True,则 Second_Dict 是主体中函数的输出,因此每次更新都不相同。实际上,对于 First_Dict 的每个值,Second_Dict 都会不同(或 0 大小)。
标签: python dictionary