我有dictionaries
的列表,我想计算"P"
在字典中出现的次数,并将total
更新为key
,然后给出value
计数
{% set my_list = [
{'key1': "P",'key2': "P",'key3': "P",'key4': "P"},
{'key1': "P",'key2': "P",'key1': "",'key3': "P",'key4': "P"},
{'key1': "P",'key2': "P",'key3': "",'key4': "P"}
] %}
我的代码是:
{% for my_dict in my_list %}
{% set count = 0 %}
{% for key, value in my_dict.items() %}
{% if value == 'P' %}
{% set count = count + 1 %}
{% endif %}
{% endfor %}
{% set _ = emp.update({'total': count}) %}
{% endfor %}
这段代码不是递增计数,而是在所有字典中递增其给定的0,我不知道该如何做
预期输出:
[
{'key1': 'P', 'key2': 'P', 'key3': 'P', 'key4': 'P', 'total': 4},
{'key1': '', 'key2': 'P', 'key3': 'P', 'key4': 'P', 'total': 3},
{'key1': 'P', 'key2': 'P', 'key3': '', 'key4': 'P', 'total': 3}
]
1条答案
按热度按时间zkure5ic1#
简单的
{% set %}
赋值具有有限的作用域(当前块),您必须使用名称空间对象。