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

Gre*_*jič 33 python list output

LIST = ['Python','problem','whatever']
print(LIST)
Run Code Online (Sandbox Code Playgroud)

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

[Python, problem, whatever]
Run Code Online (Sandbox Code Playgroud)

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

Seb*_*olm 70

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

print(", ".join(LIST))
Run Code Online (Sandbox Code Playgroud)

如果列表中的元素不是字符串,您可以使用其中任何一个repr(如果您需要字符串周围的引号)或str(如果不需要)将它们转换为字符串,如下所示:

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

这给出了输出:

1, 'foo', 3.5, {'hello': 'bye'}
Run Code Online (Sandbox Code Playgroud)

  • 如果像这样,我如何删除第一个括号,`[['String-1','String-2','String-3']]` 并且结果将是这样的 `['String-1',' String-2','String-3']` (4认同)
  • @GregorGajič 然后 ", ".join(str(i) for i in LIST) (3认同)

Vic*_*ent 27

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

l = ['a', 2, 'c']
print str(l)[1:-1]
'a', 2, 'c'
Run Code Online (Sandbox Code Playgroud)

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


yed*_*tko 12

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

print ', '.join(map(str, LIST))
Run Code Online (Sandbox Code Playgroud)

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


lah*_*n_j 6

def listToStringWithoutBrackets(list1):
    return str(list1).replace('[','').replace(']','')
Run Code Online (Sandbox Code Playgroud)