我在python中创建了字典,例如
dictionary_list = [{'1':1,'2': 2,'3': 3},{'1': 1,'2':2,'3':3,'4':4},{'1':1,'2':2}]
现在我想使用python语法迭代这个dict。我试过这个:
{% 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的报告标记语言(RML文件)中迭代字典列表,我感到很沮丧。请指导我,谢谢。
答案 0 :(得分:4)
这是集合的列表,而不是dicts:
>>> [ 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 %}
如果您只想要来自dicts的值而不是键,那么只需使用dict.values:
{% for val_o in dictionary.values %}