我有一个Python列表 e.g。
names = ["Sam", "Peter", "James", "Julian", "Ann"]
我想在没有正常“[]
的情况下在一行中打印数组names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)
将输出为;
["Sam", "Peter", "James", "Julian", "Ann"]
这不是我想要的格式,而是希望它像这样;
Sam, Peter, James, Julian, Ann
注意:它必须在一行中。
答案 0 :(得分:179)
print(', '.join(names))
听起来,这只是获取列表中的所有元素,并将它们与', '
连接起来。
答案 1 :(得分:52)
这是一个简单的问题。
student:tstudentr;
星形解包列表并返回列表中的每个元素。
答案 2 :(得分:35)
通用解决方案,适用于非字符串数组:
>>> print str(names)[1:-1]
'Sam', 'Peter', 'James', 'Julian', 'Ann'
答案 3 :(得分:19)
如果输入数组是整数类型,那么您需要先将数组转换为字符串类型数组,然后使用join
方法加入{{1或者空间无论你想要什么。 e.g:
,
直接使用将加入整数和字符串的连接将抛出错误,如上所示。
答案 4 :(得分:15)
有两个答案,第一个是使用'sep'设置
>>> print(*names, sep = ', ')
另一个在
之下>>> print(', '.join(names))
答案 5 :(得分:9)
这就是你需要的
", ".join(names)
答案 6 :(得分:3)
You need to loop through the list and use end=" "
to keep it on one line
names = ["Sam", "Peter", "James", "Julian", "Ann"]
index=0
for name in names:
print(names[index], end=", ")
index += 1
答案 7 :(得分:2)
打印(*名称)
这将在python 3中工作 如果要以空格分隔的方式将它们打印出来。 如果您需要逗号或其他之间的逗号,请继续使用.join()解决方案
答案 8 :(得分:1)
','.join(list)
仅在列表中的所有项目均为字符串时才有效。如果您希望将数字列表转换为逗号分隔的字符串。例如将a = [1, 2, 3, 4]
插入'1,2,3,4'
,那么您可以
str(a)[1:-1] # '1, 2, 3, 4'
或
str(a).lstrip('[').rstrip(']') # '1, 2, 3, 4'
尽管这不会删除任何嵌套列表。
将其转换回列表
a = '1,2,3,4'
import ast
ast.literal_eval('['+a+']')
#[1, 2, 3, 4]
答案 9 :(得分:1)
对于整数类型的数组,我们需要先将其更改为字符串类型,然后使用join函数获得不带括号的整洁输出。
arr = [1, 2, 3, 4, 5]
print(', '.join(map(str, arr)))
输出-1,2,3,4,5
对于字符串类型的数组,我们需要直接使用join函数以获取没有括号的干净输出。
arr = ["Ram", "Mohan", "Shyam", "Dilip", "Sohan"]
print(', '.join(arr)
输出-Ram,Mohan,Shyam,Dilip,Sohan
答案 10 :(得分:0)
我不知道这是否有效,但简单的逻辑始终有效:
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(", ")
输出:
Sam,Peter,James,Julian,Ann
答案 11 :(得分:0)
以下函数将接收一个列表,并返回列表项的字符串。 然后可以将其用于记录或打印目的。
def listToString(inList):
outString = ''
if len(inList)==1:
outString = outString+str(inList[0])
if len(inList)>1:
outString = outString+str(inList[0])
for items in inList[1:]:
outString = outString+', '+str(items)
return outString
答案 12 :(得分:0)
尝试在带有打印语句的列表名称前使用星号:
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names)
输出:
Sam Peter James Julian Ann