gpt4 book ai didi

python - 如何将嵌套列表中的 collections.defaultdict(list) 的结果输出到 jinja 中?

转载 作者:行者123 更新时间:2023-11-30 23:22:58 27 4
gpt4 key购买 nike

我的Python代码

d = collections.defaultdict(list)
for k in results:
d[k[0]].append(k[1:4])

e= collections.OrderedDict(sorted(d.items(), key=lambda t: t[0]))

for key,value in e.items():
for p in xrange(len(value)):
print value[p][0]

我想做什么

如何从该位中选择 jinja 中的值?

for key,value in e.items():
for p in xrange(len(value)):
print value[p][0]

我以为会是:

  {%for key, value in groups.items()%}
{%for p in xrange(len(value))%}
<tr>
<td>{{value[p][1]}}</td><td>{{value[p][2]}}</td><td>{{value[p][4]}}</td>
<td>{{value[p][5]}}</td><td>{{value[p][3]}}</td>
</tr>
{%endfor%}
{%endfor%}

尽管这会产生错误

jinja2.exceptions.UndefinedError: 'len' is undefined

最佳答案

不要使用xrange();您可以直接循环遍历值列表:

{%for key, value in groups.items()%}
{%for elem in value %}
<tr>
<td>{{ elem[1] }}</td><td>{{ elem[2] }}</td><td>{{ elem[4] }}</td>
<td>{{ elem[5] }}</td><td>{{ elem[3] }}</td>
</tr>
{%endfor%}
{%endfor%}

如果您确实需要对象(如列表)的长度,请在 Jinja 模板中使用 length filter :

{% if value|length < 5 %}Short list!{% endif %} 

countlength 的别名。

Jinja 中没有可调用的 xrange(),但您确实得到 range() .

关于python - 如何将嵌套列表中的 collections.defaultdict(list) 的结果输出到 jinja 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24209200/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com