如何在Python中从列表中删除方括号?

如何在Python中从列表中删除方括号?,python,list,output,Python,List,Output,当我运行这个程序时,我得到 LIST = ['Python','problem','whatever'] print(LIST) 是否可以从输出中删除方括号?您可以将其转换为字符串,而不是直接打印列表: [Python, problem, whatever] 如果列表中的元素不是字符串,则可以使用repr(如果需要在字符串周围加引号)或str(如果不需要)将它们转换为字符串,如下所示: print(", ".join(LIST)) 它给出了输出: LIST = [1, "foo", 3.5

当我运行这个程序时,我得到

LIST = ['Python','problem','whatever']
print(LIST)

是否可以从输出中删除方括号?

您可以将其转换为字符串,而不是直接打印列表:

[Python, problem, whatever]
如果列表中的元素不是字符串,则可以使用
repr
(如果需要在字符串周围加引号)或
str
(如果不需要)将它们转换为字符串,如下所示:

print(", ".join(LIST))
它给出了输出:

LIST = [1, "foo", 3.5, { "hello": "bye" }]
print( ", ".join( repr(e) for e in LIST ) )

是的,有几种方法。例如,您可以将列表转换为字符串,然后删除第一个和最后一个字符:

1, 'foo', 3.5, {'hello': 'bye'}

如果您的列表只包含字符串,并且您也希望删除引号,那么您可以使用前面提到的
join
方法。

如果列表中有数字,您可以使用
map
对每个元素应用
str

l = ['a', 2, 'c']
print str(l)[1:-1]
'a', 2, 'c'

^
map
是C代码,所以它比列表中i的str(i)快

谢谢,但是如果我的列表中有数字呢?@gregogajičthen“,”。join(str(i)for i in LIST)@gregorgagajič:答案更新。如果这样,
['String-1','String-2','String-3',]我如何删除第一个括号]
结果将是这样的
['String-1','String-2','String-3']
我建议
map
而不是
str(I),因为列表中的I
-
map
是C代码,所以它的快速列表理解实际上比Python2中的map更快,因为它不会创建计算代价高昂的堆栈框架。地图创造了它。但是这种行为是有问题的,如果之前声明了同名的变量,列表理解中的变量可能会由于重新绑定而泄漏。Python3中的列表理解并没有出现这样的问题,因为它被更改为创建一个堆栈框架,以与生成器表达式保持一致。
print ', '.join(map(str, LIST))
def listToStringWithoutBrackets(list1):
    return str(list1).replace('[','').replace(']','')