Python 如何在jinja2中选择字典中的一些键进行迭代
我有一本这样的字典Python 如何在jinja2中选择字典中的一些键进行迭代,python,jinja2,Python,Jinja2,我有一本这样的字典 [ { 'a' : "Aa1", 'b' : "Bb1", 'c' : "Cc1" } , { 'a' : "Aa2", 'b' : "Bb2", 'c' : "Cc2" 'd' :"Dd2" } ] { % for dict in dictionaries % } {%- for key,value in dict.items()%} {%- if key|rejectattr("a", "b"
[ { 'a' : "Aa1",
'b' : "Bb1",
'c' : "Cc1"
} ,
{ 'a' : "Aa2",
'b' : "Bb2",
'c' : "Cc2"
'd' :"Dd2"
} ]
{ % for dict in dictionaries % }
{%- for key,value in dict.items()%}
{%- if key|rejectattr("a", "b") %}
{{key}} = {{value }}
{%- endif%}
{% endfor %}
{% endfor % }
我想在遍历这个字典数组时拒绝一些键。所以我想要的结果是
拒绝按键“a”和“b”
我怎样才能做到呢
我试过这样的东西
[ { 'a' : "Aa1",
'b' : "Bb1",
'c' : "Cc1"
} ,
{ 'a' : "Aa2",
'b' : "Bb2",
'c' : "Cc2"
'd' :"Dd2"
} ]
{ % for dict in dictionaries % }
{%- for key,value in dict.items()%}
{%- if key|rejectattr("a", "b") %}
{{key}} = {{value }}
{%- endif%}
{% endfor %}
{% endfor % }
然而,这不起作用。任何建议。您使用
rejectattr
过滤器实际要说的是“键的值。a不能是'b'
”,这不是您想要做的。由于您直接使用该键,因此它只是一个str
,没有任何此类属性
也许可以尝试使用equalto
作为测试,使用reject
作为主过滤器:
{% if key|reject('equalto', 'a')|reject('equalto', 'b') %}
只要
{%如果键不在['a','b']%}