繁体   English   中英

从列表中删除方括号

[英]Remove square brackets from list

我有这个清单:

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

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

123 / 456 / 789

我尝试这样做:

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

但这就是我得到的:

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

关于下一步如何获得所需输出的任何想法?

您已经很接近了,但是您要做的是首先将列表列表变平,然后转换为字符串。 像这样:

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

您可以使用itertools.chain

import itertools

list1 = [['123'], ['456'], ['789']]
", ".join(itertools.chain(*list1))
# => '123, 456, 789'
list1 = [['123'], ['456'], ['789']]

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

st = ''.join(st)

print(st)

输出

/ 123/456/789

由于列表中有列表,因此您需要获取第一个索引,这样可以帮助您

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

如果您明确只希望子列表的第一个元素,即使它具有多个元素,那么我认为这种单线是最清晰的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM