Python 是否有其他方法可以打印多个列表元素,其中列表索引在每次打印时都会增加给定的数量?

Python 是否有其他方法可以打印多个列表元素,其中列表索引在每次打印时都会增加给定的数量?,python,list,Python,List,我有一个包含数百个整数的列表。我需要一次获取34个整数,从列表的开头开始,将这些整数打印成34行 问题是我必须使用多个打印(list[x:y])并不断更改x和y的值 我已经尝试指定列表中要打印的每个索引,但是,这是不切实际的,因为列表可能包含数百个值 integer=[ 3,23,12,34,2,4,7,11,14,1,9,17,12,1,0,5,4,3,2,4,8,1,12,15,18,17,14,23,12,0,0 ,12,34,2,21,22,24,23,1,0,4,7,3,13,16,1

我有一个包含数百个整数的列表。我需要一次获取34个整数,从列表的开头开始,将这些整数打印成34行

问题是我必须使用多个
打印(list[x:y])
并不断更改x和y的值

我已经尝试指定列表中要打印的每个索引,但是,这是不切实际的,因为列表可能包含数百个值

integer=[
3,23,12,34,2,4,7,11,14,1,9,17,12,1,0,5,4,3,2,4,8,1,12,15,18,17,14,23,12,0,0
,12,34,2,21,22,24,23,1,0,4,7,3,13,16,15,3,5,11,22,9,14,20,16,3,6,2,0,10,1,12
,18,9,9,23,6,2,18,14,1,0,3,5,17,13,12,5,6,9,0,1,2,19,20,2,3,5,7,15,19,2,4,10
,15,18,17,2,6,5,3,6,12,15,18,12,15,6,20,0,9,4,1,5,4,3,7,9,0,12,3,5,7,8,17,19
,21,0,1,2,7,7,7,5,4,3,8,19,12,16,0,2,4,7,8,4,12,12,9,3,20,2,21,3,5,8,9,12,17
,8,7,3,4,6,3,14,18,21,4,3,9,19,19,3,6,8,7,13,14,18,13,15,3,4,8,7,12
]
打印(整数[0:34])
打印(整数[35:69])
打印(整数[70:104])
输出:

[3, 23, 12, 34, 2, 4, 7, 11, 14, 1, 9, 17, 12, 1, 0, 5, 4, 3, 2, 4, 8, 1, 12, 15, 18, 17, 14, 23, 12, 0, 0, 12, 34, 2]
[22, 24, 23, 1, 0, 4, 7, 3, 13, 16, 15, 3, 5, 11, 22, 9, 14, 20, 16, 3, 6, 2, 0, 10, 1, 12, 18, 9, 9, 23, 6, 2, 18, 14]
[0, 3, 5, 17, 13, 12, 5, 6, 9, 0, 1, 2, 19, 20, 2, 3, 5, 7, 15, 19, 2, 4, 10, 15, 18, 17, 2, 6, 5, 3, 6, 12, 15, 18]

假设您的预期输出没有故意跳过如图所示的值,下面将在一行中打印34个元素的组:

wholeLines = len(integer) // 34 * 34
for i in range( 0,wholeLines,34 ):
    print(integer[i:i+34])
print( integer[wholeLines:] )

如果您不需要打印最后一行的剩余部分,则可以省略最后一行代码。

如果您只是想找到一种简单的方法来打印列表中大小为
chunk\u size
的区块,请使用以下单行列表:

[打印(数据[块大小*索引:块大小*索引+块大小])范围内的索引((len(数据)//块大小)+1)]

更改
chunk\u size
以表示您希望块的大小

例如:

[2]中的
:x=列表(范围(35))
在[3]:x中
出[3]:[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]
[4]中:块大小=9
[5]中:[print(x[chunk\u size*索引:chunk\u size*索引+chunk\u size])用于范围内的索引((len(x)//chunk\u size)+1)]
[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]

因此,您希望迭代获取34个元素——我假设您希望打印列表的最后一个元素,即使没有完整的34个元素。这里使用的工具是循环。在for循环中,您希望基于当前索引打印34个元素,如下所示:

print intlist(n:n+34)
好的,你的迭代极限。最简单的方法是使用do while循环(记住在每个循环中增加索引变量):


需要使用循环:您是否有意在每行之间遗漏一个值(例如21)?整个列表是否保证为34的倍数?
n=0
while n < len(intlist):
    print intlist(n:n+34)
    n += 34
n=0
while n < len(intlist):
    try:
        print intlist(n:n+34)
    except:
        print intlist(n:)
    n += 34