以逗号分隔的 1 行打印输出

发布于 2024-12-12 03:40:27 字数 198 浏览 0 评论 0原文

我有 1 个列表:

mylist=[John, Stefan, Bjarke, Eric, Weirdo]

我想使用 for 循环将整个内容打印在一行中,并用逗号分隔,例如:

for x in mylist:
    print x

我该怎么做?

I have 1 list:

mylist=[John, Stefan, Bjarke, Eric, Weirdo]

I want to print the whole thing in one line separated by commas using a for loop, like:

for x in mylist:
    print x

How do I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

送你一个梦 2024-12-19 03:40:28
print ','.join(mylist)

或者如果 John Stefan 等还不是字符串:

print ','.join(str(o) for o in mylist)
print ','.join(mylist)

or if John Stefan etc are not already strings:

print ','.join(str(o) for o in mylist)
瞎闹 2024-12-19 03:40:28

其他答案更聪明,也更“Pythonic”。但如果你确实需要一个循环:

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 函数则不是这种情况。

Other answers are smarter, and more 'Pythonic'. But if you really need a loop:

for item in mylist:
    print item + ',',  # <<<---- here, have a look to the trailing coma!

But this will let one space at next printing before the print. If you use sys.stdout, the printing will start directly after previous printing:

>>> 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 is not adding spaces, and '\r will make printing to start back at beginning of line. This may be useful for refreshed display in command line.

So, to answer to your question:

for item in mylist:
    sys.stdout.write(item + ',')

But this line will end with a coma, which is not the case with str.join function.

棒棒糖 2024-12-19 03:40:28

尝试这样做:

print ','.join(mylist)

不需要 for 循环。

Try doing this:

print ','.join(mylist)

A for loop is not needed.

飘逸的'云 2024-12-19 03:40:28

只是为了好玩,有 Perl 风格的 hax0ring 方式:

print repr(mylist)[1:-1]

;)

Just for fun, there's the Perl-esque hax0ring way:

print repr(mylist)[1:-1]

;)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文