所以我有一个清单:
names = ['dog','cat','mouse','moose','rabbit','horse','apple','banana','orange']
我希望输出是这样的:
dog cat mouse moose rabbit horse
apple banana orange
基本上,打印时每行最多显示6个单词。
老实说,我不知道从哪里开始,因为这样的for循环将显示每行1个:
for i in names:
print(i)
output -->
dog
cat
mouse
moose
rabbit
horse
apple
banana
orange
发布于 2013-04-10 05:34:38
您可以使用range
,通过一个步骤将其拆分:
names = ['dog','cat','mouse','moose','rabbit','horse','apple','banana','orange']
for i in range(0, len(names), 6):
print(names[i:i + 6])
发布于 2013-04-10 05:34:41
可怜人的版本:
counter = 0
for i in names:
if counter == 5:
counter = 0
print i
else:
print i,
counter += 1
发布于 2013-04-10 05:42:40
使用最大行宽为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
如果你想右对齐你的输出,这是很有用的。我认为,如果想要生成以空格分隔的列,拆分单词数是很有用的。
https://stackoverflow.com/questions/15917690
复制