我正在尝试将列表拆分为5个列表。我在互联网上搜索,但我唯一能找到的是如何将列表拆分为n
个列表,每个列表中的项目数量相同。
遗憾的是,这并没有解决我的问题。我想要做的是将列表拆分为5个包含不同数量项目的列表。
我看到的所有内容都旨在将列表拆分为相同大小的子列表。所以我想知道这是否可能。
答案 0 :(得分:1)
您可以使用基本列表切片实现此目的,如下所示:
In [1]: l = list(xrange(35))
In [2]: l[0:5], l[5:13], l[13:20], l[20:27], l[27:35]
Out[2]:
([0, 1, 2, 3, 4],
[5, 6, 7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18, 19],
[20, 21, 22, 23, 24, 25, 26],
[27, 28, 29, 30, 31, 32, 33, 34])
我无法在数字1, 5, 13, 20, 27, 35
之间找到任何可重复的模式,但如果有数字,则可以轻松计算第n和第n + 1项,以动态获取切片而不是硬编码。< / p>
另请注意,对于Python中的列表,索引以0开头,并且当完成list[x:y]
切片时,元素list[x], list[x+1], .. list[y-1]
仅包含在切片中,{{1} }不是最终输出的一部分。