【发布时间】:2013-02-07 19:26:18
【问题描述】:
我有两个字典列表,一个是项目标识符列表,另一个是已完成项目标识符的列表。我希望根据已完成列表中的存在向项目标识符列表中添加一个键。
当前代码
>>> projects = [{'id': 1}, {'id': 2}, {'id': 3}]
>>> completes = [{'id': 1}, {'id': 2}]
>>> for complete in completes:
... for project in projects:
... if project["id"] == complete["id"]:
... project["complete"] = 1
... else:
... project["complete"] = 0
...
>>> print projects
[{'id': 1, 'complete': 0}, {'id': 2, 'complete': 1}, {'id': 3, 'complete': 0}]
预期输出
[{'id': 1, 'complete': 1}, {'id': 2, 'complete': 1}, {'id': 3, 'complete': 0}]
一旦项目被标记为完成,我该如何跳出嵌套循环?我应该考虑另一种方法而不是使用嵌套循环吗?
【问题讨论】:
-
你为什么不做一个项目字典,其中键是
id,值可以是你正在使用的信息字典。 -
@GWW 我正在使用输出将 csv 文件作为输入写入 ETL 过程,并希望将列标题保留在字典中。我想我可以按照你的建议创建一个单独的标题和值列表。
-
如果您正在处理大量条目,它会带来不错的性能提升,否则可能不值得努力。
标签: python python-2.7