我有一本字典要迭代,我把它打印在我的网页上并得到了这个:
dict = {
u'256': <itertools._grouper object at 0x8361d0e90>,
u'59': <itertools._grouper object at 0x83607c110>,
u'59': <itertools._grouper object at 0x83607c050>,
u'1975555': <itertools._grouper object at 0x8361bc490>,
u'91': <itertools._grouper object at 0x836162110>
}
如何在字典中访问此对象的值? 这是我尝试过的东西:
{% for code, codelist in dict.items %}
{% for innerlists in codelist %}
// Here I want to display the values in the dict's object
{% endfor %}
{% endfor %}
答案 0 :(得分:1)
如果您是用户itertools.groupby
,请注意docs pages中的注释:
返回的组本身就是一个迭代器,它与groupby()共享底层的iterable。由于源是共享的,因此当groupby()对象处于高级时,前一个组将不再可见。因此,如果稍后需要该数据,则应将其存储为列表:
groups = []
uniquekeys = []
data = sorted(data, key=keyfunc)
for k, g in groupby(data, keyfunc):
groups.append(list(g)) # Store group iterator as a list
uniquekeys.append(k)
(Bolds补充)
不要将dict
用作varname,在创建此dict时,请将_grouper
值转换为list
。您的模板似乎没有任何问题。
答案 1 :(得分:0)
{% for item in dict%}
//do stuff
{% endfor %}
应该有效,除非你的dict有一个你要迭代的嵌套属性“items”。