1

所以我有一个清单:

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
4

3 回答 3

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])
于 2013-04-10T05:34:38.107 回答
0

穷人版:

counter = 0
for i in names:
    if counter == 5:
        counter = 0
        print i
    else:
        print i,
    counter += 1
于 2013-04-10T05:34:40.877 回答
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

如果您想正确证明您的输出,这很有用。如果你想生成空格分隔的列,我认为拆分单词的数量很有用。

于 2013-04-10T05:42:39.997 回答