在一行Python 3.2.2上打印for循环

时间:2012-11-29 14:09:59

标签: python python-3.x

我正在尝试打印一行代码,但是有很多代码,如果我将它全部打印在一行上,我认为它看起来更整洁。 我正在尝试使用for循环打印一个列表,我想在同一行上打印它。

    for i in ALLROOMS:
            print(i.name)

4 个答案:

答案 0 :(得分:4)

使用end=" "

print (i.name, end=" ")

示例:

In [2]: for i in range(5):
   ...:     print(i, end=" ")
   ...:     
0 1 2 3 4 

print()上的帮助:

print(value, ..., sep=' ', end='\n', file=sys.stdout)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep:  string inserted between values, default a space.
end:  string appended after the last value, default a newline.

答案 1 :(得分:3)

你的意思是:


print "|".join(str(v) for v in L)  # => 1|2|3
#still can add condition
print "|".join(str(v) for v in L if v>0) # =>1|2|3

当然,你可以替换“|”对你喜欢的任何角色。

如果列表中的所有项都是字符串,则可以

print "".join(L)

答案 2 :(得分:1)

您可能还需要考虑pprint module模块:

from pprint import pprint
pprint(i.name)

它不一定会在同一行上打印,但它可以根据宽度等进行自定义 - 通常是产生“更易读”输出的好方法。

答案 3 :(得分:0)

你可以做到

print(*tuple(i.name for i in ALLROOMS))