我该如何打印?

时间:2018-09-15 14:05:36

标签: python python-3.x list printing

我想在第一行中的每个数据之间以一个空格打印列表的前n个数据,并在第二行中的每个数据之间以一个空格打印列表的第二个n等。 例如在List = [1,2,3,4,5,6,7,8,9]中,我想在3行中打印此List的数据,例如:

1 2 3
4 5 6
7 8 9

我该怎么办?

2 个答案:

答案 0 :(得分:1)

我将列表切成n大小的块,然后将每个子列表加入一个空格:

def printInChunks(lst, n):
    for i in range(len(lst) // n):
        print(' '.join(str(x) for x in lst[i * n : (i + 1) * n]))

# From the example above:
lst = [1,2,3,4,5,6,7,8,9]
n = 3

答案 1 :(得分:1)

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

for index, item in enumerate(lista, start = 1): 
    if index % 3 == 0:
        print(item)
    else:
        print(item, end='')

输出:

(xenial)vash@localhost:~/python/stack_overflow$ python3.7 three.py 
123
456
789

如果您要保留空白,只需添加''

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

for index, item in enumerate(lista, start = 1): 
    if index % 3 == 0:
        print(item,'')
    else:
        print(item,'', end='')

输出:

(xenial)vash@localhost:~/python/stack_overflow$ python3.7 three.py 
1 2 3 
4 5 6 
7 8 9