0

我有一本字典要迭代,我把它打印在我的网页上,得到了这个:

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 %}
4

2 回答 2

1

如果您是用户itertools.groupby,请注意文档页面中的注释:

返回的组本身就是一个迭代器,它与 groupby() 共享底层迭代。因为源是共享的,所以当 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)

(加粗)

不要dict用作 varname,并且在创建此 dict 时,将 _grouper值转换为list. 您的模板似乎没有任何问题。

于 2013-09-24T13:23:18.073 回答
0
{% for item in dict%}
//do stuff
{% endfor %}

除非您 dict 具有要迭代的嵌套属性“items”,否则应该可以工作。

于 2013-09-24T09:37:49.067 回答