如何每隔3个元素制作一个新列表?

时间:2015-04-19 06:01:32

标签: python list

我想说我想列出一份清单:

List_of_lists = [ [1, 2, 3] , [4, 5, 6], [7, 8, 9], .... ]

如何创建一个立即创建新列表的循环(例如:[4,5,6]) 之前的列表填充了3个元素吗?

现在,我所能做的就是:

[ [1, 2, 3, 4, 5, 6.... ] ],基本上是列表中的一个巨大列表,而不是将这个巨大的列表拆分成每个包含3个元素的列表。

2 个答案:

答案 0 :(得分:2)

在列表理解中使用range

>>> [range(i,i+3) for i in range(1,10,3)]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

答案 1 :(得分:0)

a=range(100)

List_of_lists=[a[i:i+3] for i in range(1, 100, 3)]

print List_of_lists

[[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, 35, 
36], [37, 38, 39], [40, 41, 42], [43, 44, 45], [46, 47, 48], [49, 50, 51], [52, 53, 54], [55, 56, 57], [58, 59, 60], [61, 62, 63], [64, 65, 66], [67, 68, 6
9], [70, 71, 72], [73, 74, 75], [76, 77, 78], [79, 80, 81], [82, 83, 84], [85, 86, 87], [88, 89, 90], [91, 92, 93], [94, 95, 96], [97, 98, 99]]