![](/img/trans.png)
[英]Python Dictionary Contains List as a Value - How to add the value for each key?
[英]python updating each key value of dictionary in list
我在列表中有一个字典,我正在尝试迭代列表并更新字典键,每隔 10 秒更新一次值。
例子:
list = [{"id": 3, "status": "pending"}, {"id": 4, "status": "pending"}, {"id": 2, "status": "pending"}]
在某个条件下,我有另一个变量global_status = executing or blocked or completed
根据global_status执行或阻塞或完成
if (global_status == executing ):
output : [{"id": 3, "status": "routing"}, {"id": 4, "status": "pending"}, {"id": 2, "status": "pending"}]
wait for 10 seconds
output : [{"id": 3, "status": "completed"}, {"id": 4, "status": "routing"}, {"id": 2, "status": "pending"}]
wait for 10 seconds
output : [{"id": 3, "status": "completed"}, {"id": 4, "status": "completed"}, {"id": 2, "status": "completed"}]
在这里,我正在遍历列表,等待 10 秒。 根据global_status
,按顺序分别更新每个字典的键、值。
我为您的代码做了两个修复。
第一:你必须有固定的模式才能使用 for 循环。 我为你做了一个示例模式。
routing pending pending
completed pending pending
completed routing pending
completed completed pending
completed completed routing
completed completed completed
第二:您必须使用两个 for 循环来更改每个字典中的每个“状态”,否则它将更改所有这些状态。
import time
List = [{"id": 3, "status": "pending"}, {"id": 4, "status": "pending"}, {"id": 2,
"status": "pending"}]
count = ['routing', 'completed'] # this is for your status
for i in List:
for j in range(len(i)):
i['status'] = count[j]
print(List)
time.sleep(10)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.