python - 如何在新行上打印Python列表的每个第n个索引?

标签 python list printing split

我正在尝试打印一个列表,并且对于每 5 个索引,它会打印一个新行。例如,如果我有:

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

输出将是:

  1 2 3 4 5
  6 7 8 9 10

到目前为止我尝试过:

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

   for i in lst:
       if len(lst) > 5:
          print(lst,'\n')

但我得到的是:

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

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

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

   .......

我怎样才能做到这一点?

感谢您的帮助!

最佳答案

使用带有步骤的 for 循环:

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

for i in range(0, len(lst), n_indices):
    print(lst[i:i+n_indices])

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

如果您想更喜欢格式,可以使用参数解包,如下所示:print(*list[i:i+n_indices]) 并获取以下格式的输出:

1 2 3 4 5
6 7 8 9 10

关于python - 如何在新行上打印Python列表的每个第n个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54301753/

相关文章:

Python子进程(错误?)合并ssh的stderr和stdout

python - Reducer 通过 sys.stdin 获取多个键?

java - java中的动态数组合并

c - 打印文件每行的 m 到 n 列

html - 图片卡在第 2 页 - CSS 打印

python - 带变量和方法的下划线与双下划线

python - 了解 kivy 中的绑定(bind)

c - 如何在 C 中将客户端的 IP 存储在数组中(套接字编程)

python - 将列表修剪为最大数量的元素

c - 如何永久更改数组的子字符串? C编程