我有1名名单:打印输出用逗号隔开
mylist=[John, Stefan, Bjarke, Eric, Weirdo]
我想打印在一行整件事通过使用for循环,像逗号分隔:
for x in mylist:
print x
我该怎么做呢?
我有1名名单:打印输出用逗号隔开
mylist=[John, Stefan, Bjarke, Eric, Weirdo]
我想打印在一行整件事通过使用for循环,像逗号分隔:
for x in mylist:
print x
我该怎么做呢?
尝试这样做:不需要
for循环print ','.join(mylist)
一个。
print ','.join(mylist)
,或者约翰·斯蒂芬等尚未字符串:
print ','.join(str(o) for o in mylist)
其他的答案是更聪明,更 'Python化'。但如果你真的需要一个循环:
for item in mylist:
print item + ',', # <<<---- here, have a look to the trailing coma!
而这将会让在下次印刷一个空间打印之前。如果使用sys.stdout
,印刷将事先印刷后直接启动:
>>> import sys
>>> def t():
... for i in (1, 4, 2):
... print i + ',',
... sys.stdout.write('<>')
... for i in (3, 5):
... print i + ',',
>>> t()
1, 4, 2,<> 3, 5,
sys.stdout.write
不加入空格,'\r
将使印刷开始回到行首。这对于命令行中的刷新显示可能很有用。
因此,要回答你的问题:
for item in mylist:
sys.stdout.write(item + ',')
但是这条线将与昏迷,这是不符合str.join
功能的情况下结束。
不知道尾随逗号,谢谢! – Fabian
是的,这是快速显示的好选择。由于它自动增加空间,它提供了非常简单的代码的可读输出。 –
只是为了好玩,有Perl的去年秋季hax0ring方式:
print repr(mylist)[1:-1]
;)
更妙的是只是删除方括号在第二个例子中使用发电机,而不是一个列表。 –
对不起,并不熟悉stackoverflow,它不显示我的编辑评论。每迈克尔建议改进 – uncreative
非常感谢! 。 – user1014224