我有一个Python中的列表 如。

names = ["Sam", "Peter", "James", "Julian", "Ann"]

我想打印的数组在单行没有正常的" []

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)

将给出输出为;

["Sam", "Peter", "James", "Julian", "Ann"]

这不是我想要的格式,而是这样的;

Sam, Peter, James, Julian, Ann

注意:必须为单行。


当前回答

尝试在打印语句的列表名称前使用星号:

names = ["Sam", "Peter", "James", "Julian", "Ann"]  
print(*names)

输出:

Sam Peter James Julian Ann

其他回答

打印(*名称)

这将在python3中工作 如果你想打印出来,以空格分隔。 如果你需要逗号或其他中间的东西,请使用.join()解决方案

我不知道这是否像其他方法一样有效,但简单的逻辑总是有效的:

import sys
name = ["Sam", "Peter", "James", "Julian", "Ann"]
for i in range(0, len(names)):
    sys.stdout.write(names[i])
    if i != len(names)-1:
        sys.stdout.write(", ")

输出:

山姆,彼得,詹姆斯,朱利安,安

有两个答案,第一是使用“sep”设置

>>> print(*names, sep = ', ')

另一个在下面

>>> print(', '.join(names))

您需要遍历列表并使用end=" "将其保持在一行上

names = ["Sam", "Peter", "James", "Julian", "Ann"]
    index=0
    for name in names:
        print(names[index], end=", ")
        index += 1

这里有一个简单的例子。

names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names, sep=", ")

星号解包列表并返回列表中的每个元素。