0

反復する辞書があり、それを自分の Web ページに印刷して、次のようにしました。

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の注意事項に注意してください。

返されるグループ自体は、基になる iterable を 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)

(太字追加)

dictvarname として 使用しないでください。この dict を作成するときは、_grouper値をに変換してlistください。テンプレートに問題はないようです。

于 2013-09-24T13:23:18.073 に答える