从列表中删除方括号

时间:2015-09-29 22:22:46

标签: python

我有这个清单:

list1 = [['123'], ['456'], ['789']]

我想将此列表转换为字符串,然后以此格式将其存储到数据库的列中:

123 / 456 / 789

我试过这样做:

s2 = ", ".join(repr(e) for e in list1)
print(s2)

但这就是我所得到的:

['123'], ['456'], ['789']

关于我接下来应该做什么以获得所需输出的任何想法?

5 个答案:

答案 0 :(得分:8)

你很接近,但你想要做的是首先展开你的列表列表,然后转换为字符串。像这样:

" / ".join([item for sublist in list1 for item in sublist])

答案 1 :(得分:1)

您可以使用 Possible orders of intermediate nodes [(4, 3), (3, 4)] [1, 8, 4, 8, 1, 3, 7, 5, 9, 2] 9 [1, 3, 1, 8, 4, 5, 9, 2] 7

itertools.chain

答案 2 :(得分:1)

list1 = [['123'], ['456'], ['789']]

st = [ '/' + x[0]  for x in list1]

st = ''.join(st)

print(st)

<强>输出

/ 123 /789分之456

答案 3 :(得分:0)

由于列表中有列表,您需要获得第一个指示,这样才能帮助您

" / ".join(map(lambda x:x[0],list1))

答案 4 :(得分:0)

如果你特别想要一个子列表的第一个元素,即使它有多个元素,那么我认为这个单行是最清楚的:

s2 = ' / '.join(  x[0] for x in list1 )