从python3中的列表重新排列数字

时间:2016-07-29 13:42:35

标签: python list python-3.x

假设我有一个数字列表

a = [1,2,3,4,5,6,7,8,9,10]

我希望将输出打印为

1
2 3 
4 5 6
7 8 9 10

我怎样才能在python3中完成。

我的尝试:

a = [1,2,3,4,5,6,7,8,9,10]
for i in a:
    print(a[i]," ")
    i=i+1

我得到IndexError: list index out of range而且我也不知道在第1行中打印1个元素,在第2行中打印第2个和第3个,依此类推。

1 个答案:

答案 0 :(得分:3)

在Python 3中执行此操作的一种方法是在islice上使用iterator

from itertools import islice

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
it = iter(a)
print('\n'.join([' '.join([str(u)for u in islice(it, i)])for i in range(1,5)]))

<强>输出

1
2 3
4 5 6
7 8 9 10