将列表拆分为3部分

2024-05-17 16:02:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有对象列表:

l = [1, 2, 3, 4, 5, 6]

我找到一些片段。。http://herself.movielady.net/2008/07/16/split-list-to-columns-django-template-tag/

但他们是这样分开的:

^{pr2}$

我需要这样的拆分列表:

^{3}$

请帮助构建正确的templatetag。在


Tags: columnsto对象djangohttp列表nettag
2条回答

您可以使用列表理解将您的列表l1l2l3收集到另一个列表中,然后对它们做些什么。例如:

l = [1, 2, 3, 4, 5, 6]
x = [[l[i]] + [l[i+3]] for i in range(len(l) - 3)]
for a in x:
    print(a)

会得到你的

^{pr2}$

如果知道x包含三个列表,那么可以使用

l1, l2, l3 = x

当然,也可以手动分配l1l2l3。在

l1 = [l[0]] + [l[3]]
...
h = int(len(l)/2)
l1, l2, l3 = zip( l[:h], l[h:] )

l[:h]是前半部分,l[h:]是后半部分。见list slices。在

^{pr2}$

然后是zip函数,请参见zip。在

>>> zip([1, 2, 3], [4, 5, 6])
[(1, 4), (2, 5), (3, 6)]

相关问题 更多 >