Python 是否有其他方法可以打印多个列表元素,其中列表索引在每次打印时都会增加给定的数量?
我有一个包含数百个整数的列表。我需要一次获取34个整数,从列表的开头开始,将这些整数打印成34行 问题是我必须使用多个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
打印(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