巨人名单我需要在一个新行上打印每10个项目,而不是我写
zip -z valid.zip somefile.txt
示例输入:
for a in range(0, 9):
print(myList[a])
for b in range(10, 19):
print(myList[b])
示例输出:
myList = [1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,171,8,19,20,21,22]
for a in range(0, 9):
print(myList[a])
for b in range(10, 19):
print(myList[b])
for c in range(20, 29):
print(myList[c]
我怎么能把它写在一行?
答案 0 :(得分:3)
您可以这样做:
for i in range(0, len(myList), 10):
print(*myList[i:i+10])
答案 1 :(得分:1)
我会使用zip
聚类来对可迭代的元素进行分组。这种方法允许您在不可切片的迭代物上使用它,如生成器。
from itertools import zip_longest
def print_n_on_each_line(iterable, n):
for line in zip_longest(*[iter(iterable)]*n, fillvalue=''):
print(*line)
a = [1, 2, 3, 4 ,5]
print_n_on_each_line(a, 2)
打印
1 2
3 4
5
答案 2 :(得分:0)
我解释你的问题的方式是你想要每行10个项目。
item1, item2, item3 ... item10
item11, item12, item13 ... item20
如果是这种情况,我可能会建议您查看mod operator。
for i in range(len(myList)):
if i !=0 and i%10 == 0:
print()
print(myList[i], end=" ")
答案 3 :(得分:-2)
我认为比弗朗西斯科斯回答的更清楚一点:
for i, e in enumerate(myList):
newline = (i+1)%10 == 0
print(e, end='\n' if newline else '') # or ', ', or whatever else