1

我在 python 中创建了字典,例如

dictionary_list = [{'1':1,'2': 2,'3': 3},{'1': 1,'2':2,'3':3,'4':4},{'1':1,'2':2}]

现在我想使用 python 语法迭代这个字典。我试过这个:

{% for (key_o, val_o) in dictionary_list.items %}

但它不起作用。然后我尝试了这个,因为以前的语法没有帮助。

{% for dictionary in dictionary_list %}
     {% for (key_o, val_o) in dictionary.items %}
        {{ val_o }}
     {% endfor %}
{% endfor %}

但它仍然没有打印val_o's价值。我很沮丧,因为我无法遍历Report lab的 Report Markup Language (RML File) 中的字典列表。请指导我,谢谢。

4

1 回答 1

4

这是一个集合列表,而不是字典:

>>> [ type(x) for x in [{1,2,3},{1,2,3,4},{1,2}]]
[<type 'set'>, <type 'set'>, <type 'set'>]

尝试这样的事情:

set_list = [{1,2,3},{1,2,3,4},{1,2}]
{% for item in set_list %}
     {% for x in item %}
        {{ x }}
     {% endfor %}
{% endfor %}

更新:

由于 django 标签中不允许使用括号,因此您不应使用它们。这应该可以正常工作:

{% for key_o, val_o in dictionary.items %}

如果您只想要字典中的值而不是键,那么只需使用 dict.values:

{% for val_o in dictionary.values %}
于 2013-07-26T10:50:23.253 回答