2 回答

TA贡献1891条经验 获得超3个赞
您可以使用语法Rakesh说
data_list = [data_list[i:min(i+3, len(data_list)] for i in xrange(0, len(data_list_, 3)]
您也可以像这样在模板中更改语法
{% for i in a %}
{% if forloop.counter0|divisibleby:3 %}
<div class="card-group d-block d-md-flex u-card--gutters-2-md">
{% endif %}
<div class="card border-0 rounded shadow-sm mb-3 transition-3d-hover">
{{ k }}
</div>
{% if forloop.counter0|add:2|divisibleby:3 %}
</div>
{% endif %}
{% endfor %}
{% ifequal a|length|divisibleby:3 False %}
</div>
{% endifnotequal %}
在这里,您不想将内容拆分为列表列表。

TA贡献1829条经验 获得超9个赞
如果我理解正确,则需要模板语法。
尝试:
{% for i in a %}
<div class="card-group d-block d-md-flex u-card--gutters-2-md">
{% for k in i %}
<div class="card border-0 rounded shadow-sm mb-3 transition-3d-hover">{{ k }}</div>
{% endfor %}
</div>
{% endfor %}
要将列表划分为N个块,请使用。
data_lis = [1,2,3,4,5,6,7,8,9]
N = 3
a = [data_lis[i:i+N] for i in range(0, len(data_lis), N)]
print(a)
输出:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
添加回答
举报