如何从不同的索引启动 forloop.counter
Posted
技术标签:
【中文标题】如何从不同的索引启动 forloop.counter【英文标题】:how to start the forloop.counter from a different index 【发布时间】:2019-06-13 08:48:09 【问题描述】:我有 2 个单独的 forloop,我在两个循环中都使用了 forloop.counter。我想从第一个 forloop 的结尾开始第二个 forloop 计数器
% for i in something1 %
<tr>
<td> forloop.counter </td>
<td>i.username</td>
</tr>
% endfor %
% for j in something2 %
<tr>
<td> forloop.counter </td>
<td>j.username</td>
</tr>
% endfor %
如果第一个 forloop 在 10 结束,那么我想从 11.plz help 开始下一个 for 循环
【问题讨论】:
尝试使用切片,如here所述 实际上,我想从不同的索引开始 forloop 计数器值,而不是从 0 或 1 开始 你最好的办法可能是在视图中合并两个列表,然后你只需要在模板中迭代一个东西。 【参考方案1】:我对 Django 不满意,所以我在纯 Python 中展示了几个选项,给定集合:
something1 = [1,2,3,4]
something2 = [1,2,3,4,5,6,7,8,9,10]
您可以通过索引访问对象(与数据库索引不同):
i = 1
for e1 in something1:
print(e1)
i += 1
for i2 in range(i,len(something2)):
print(something2[i2])
或者切片最后一个集合:
for e1 in something1:
print(e1)
for e2 in something2[len(something1):-1]:
print(e2)
当然,最后一个集合必须是最长的。
【讨论】:
【参考方案2】:Python 的切片功能相当广泛。
语法如下:SOME_STRING[start:stop:step]
.
所以基本上你可以随心所欲地使用它。
我想对你的评论发表评论,但不幸的是我没有足够的代表:)
【讨论】:
以上是关于如何从不同的索引启动 forloop.counter的主要内容,如果未能解决你的问题,请参考以下文章
如何从具有不同数量和索引顺序的三组字典中制作包含三列的条形图?
如何从 Neo4j Graph 中获取每个节点的不同中心性索引?