[英]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.