如何在每行显示一定数量的单词?

时间:2013-04-10 05:31:38

标签: python python-3.x

所以我有一个清单:

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

3 个答案:

答案 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

如果要对输出进行右对齐,这非常有用。如果你想生成以空格分隔的列,我认为拆分单词数很有用。