所以我有一个清单:
names = ['dog','cat','mouse','moose','rabbit','horse','apple','banana','orange']
我希望输出如下:
dog cat mouse moose rabbit horse
apple banana orange
所以打印时每行最多显示六个单词。
老实说我一无所知从哪里开始,因为这样的for循环每行会显示1个:
for i in names:
print(i)
output -->
dog
cat
mouse
moose
rabbit
horse
apple
banana
orange
答案 0 :(得分:3)
您可以使用range
一步将其拆分:
names = ['dog','cat','mouse','moose','rabbit','horse','apple','banana','orange']
for i in range(0, len(names), 6):
print(names[i:i + 6])
答案 1 :(得分:0)
穷人的版本:
counter = 0
for i in names:
if counter == 5:
counter = 0
print i
else:
print i,
counter += 1
答案 2 :(得分:0)
使用最多35个字符行宽的textwrap,如果你有不同大小的单词,这会有所帮助:
import textwrap
names = ['dog','cat','mouse','moose','rabbit','horse','apple','banana','orange']
for l in textwrap.wrap("\n".join(names),35):
print l
如果要对输出进行右对齐,这非常有用。如果你想生成以空格分隔的列,我认为拆分单词数很有用。