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

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

[Python, problem, whatever]

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

4

4 回答 4

92

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

print(", ".join(LIST))

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

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

这给出了输出:

1, 'foo', 3.5, {'hello': 'bye'}
于 2012-11-03T09:11:56.137 回答
38

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

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

如果您的列表仅包含字符串并且您也想删除引号,那么您可以使用join已经说过的方法。

于 2012-11-03T09:13:54.360 回答
21

如果列表中有数字,则可以用于map应用于str每个元素:

print ', '.join(map(str, LIST))

^map是 C 代码,所以它比str(i) for i in LIST

于 2012-11-03T09:24:10.213 回答
16
def listToStringWithoutBrackets(list1):
    return str(list1).replace('[','').replace(']','')
于 2014-02-07T11:35:05.467 回答