我有一个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

注意:必须为单行。


当前回答

试试这个

print(*name)

我从youtube上的AssemblyAI视频中找到的,看看这部分

其他回答

打印(*名称)

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

一般解决方案,适用于非字符串数组:

>>> print str(names)[1:-1]
'Sam', 'Peter', 'James', 'Julian', 'Ann'

','.join(list)仅当列表中的所有项都是字符串时才有效。如果您希望将数字列表转换为逗号分隔的字符串。如a =[1,2,3,4]变成'1,2,3,4',那么你可以选择

str(a)[1:-1] # '1, 2, 3, 4'

or

str(a).lstrip('[').rstrip(']') # '1, 2, 3, 4'

尽管这不会删除任何嵌套列表。

将其转换回列表

a = '1,2,3,4'
import ast
ast.literal_eval('['+a+']')
#[1, 2, 3, 4]

如果输入数组是Integer类型,那么您需要首先将数组转换为字符串类型的数组,然后使用join方法来连接或空格。例句:

>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>

直接使用join将连接整数和字符串将抛出错误如上所示。

print(', '.join(names))

这个,就像它听起来一样,只是取列表中的所有元素并用','连接它们。