首页 > 解决方案 > 循环遍历字符串python中的json数组

问题描述

我有一个字符串,我创建了一个包含字符串和值的 JSON 数组:

amount = 0
a = "asaf,almog,arnon,elbar"
values_li={'asaf':'1','almog':'6','elbar':'2'}

如何创建一个循环来搜索其中的所有项目values_li以及a它会找到的每个项目

amount = amount + value(the value that found from value_li in a)

我试图这样做,但它不起作用:

for k,v in values_li.items():
    if k in a:
        amount = amount + v

标签: pythonjson

解决方案


collections.Counter()是你的朋友:

from collections import Counter
a = "asaf,almog,arnon,elbar"
values_li = Counter({'asaf':1,'almog':6,'elbar':2})
values_li.update(a.split(','))
values_li

这将导致:

Counter({'almog': 7, 'elbar': 3, 'asaf': 2, 'arnon': 1})

如果您想要 中所有值的总和values_li,您可以简单地执行以下操作:

sum(values_li.values())

13对于您的示例中的键/值对,这将导致,。


推荐阅读