在Python上打印特定数量的行
如何在python上每行只打印10个项目。例如,使用这行代码:在Python上打印特定数量的行,python,printing,format,Python,Printing,Format,如何在python上每行只打印10个项目。例如,使用这行代码: for index, item in enumerate (list1): if item == 'P': print (index, end=' ') 我得到的结果是水平打印,而不是垂直打印“end=”,但我需要让它每行打印10个字符,以得到如下结果: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 任何帮
for index, item in enumerate (list1):
if item == 'P':
print (index, end=' ')
我得到的结果是水平打印,而不是垂直打印“end=”,但我需要让它每行打印10个字符,以得到如下结果:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
任何帮助都将不胜感激!只需使用
%
printed = 0
for index, item in enumerate(list1):
if item == 'P':
print(index, end=' ')
if printed % 10 == 0 and printed != 0:
print('\n')
printed += 1
只需使用
%
printed = 0
for index, item in enumerate(list1):
if item == 'P':
print(index, end=' ')
if printed % 10 == 0 and printed != 0:
print('\n')
printed += 1
您可以将项目分块:
from itertools import chain, islice
def chunk(iterable, size=10):
"""Yield chunks of given size from iterable."""
iterator = iter(iterable)
for i in iterator:
yield chain((i,), islice(iterator, size-1))
pitems = (i for i, v in enumerate(list1) if v == 'P')
for chk in chunk(pitems):
print(' '.join(str(n) for n in chk))
chunk
函数将一个item表拆分为给定大小的组(在本例中为10)。pitems=(…)
行过滤器用于您想要索引的项目。然后,我们获取过滤后的项目,使用chunk
将其拆分为10个组,并打印每个组。您可以对项目进行分块:
from itertools import chain, islice
def chunk(iterable, size=10):
"""Yield chunks of given size from iterable."""
iterator = iter(iterable)
for i in iterator:
yield chain((i,), islice(iterator, size-1))
pitems = (i for i, v in enumerate(list1) if v == 'P')
for chk in chunk(pitems):
print(' '.join(str(n) for n in chk))
chunk
函数将iterable拆分为给定大小的组(在本例中为10)为您想要索引的项目设置行筛选器。然后,我们使用chunk
将筛选的项目分成10个组,并打印每组。您可以将其拆分为10个项目子列表,然后打印这些子列表
from itertools import islice
sublists = [islice(list1, i*10, (i+1)*10) for i in range(len(list1)/10 +1)]
for sublist in sublists:
print ' '.join(map(str, sublist))
您可以将其拆分为10个项目子列表,然后打印这些子列表
from itertools import islice
sublists = [islice(list1, i*10, (i+1)*10) for i in range(len(list1)/10 +1)]
for sublist in sublists:
print ' '.join(map(str, sublist))
这实际上是在Python中记录的。在您的例子中,因为您需要尾随位,所以您需要使用
itertools.zip\u longest
:
primes = [i for i,v in enumerate(list1) if v == 'P']
from itertools import zip_longest
for group in zip_longest(*[iter(primes)]*10):
print(group)
这实际上是在Python中记录的。在您的例子中,因为您需要尾随位,所以您需要使用
itertools.zip\u longest
:
primes = [i for i,v in enumerate(list1) if v == 'P']
from itertools import zip_longest
for group in zip_longest(*[iter(primes)]*10):
print(group)
您可以将计数器设置为10开始,并在每次打印时将其减少1。打印10后,计数器将为零。此时,打印新行并将计数器重置为10
item_cnt_in_line = 10
for index, item in enumerate (list1):
if item == 'P':
if item_cnt_in_line == 0:
print()
item_cnt_in_line = 10
print (index, end=' ')
item_cnt_in_line -= 1
您可以将计数器设置为10开始,并在每次打印时将其减少1。打印10后,计数器将为零。此时,打印新行并将计数器重置为10
item_cnt_in_line = 10
for index, item in enumerate (list1):
if item == 'P':
if item_cnt_in_line == 0:
print()
item_cnt_in_line = 10
print (index, end=' ')
item_cnt_in_line -= 1