我想在这里将此列表列表转换为字符串列表。转换背后的想法是从输出中删除重复项。
这是原始列表:(的输出json.loads(file.json)
)
我进一步简化了字典输出,并在此处获得了键列表。
> [[u'xyza'], [u'xyzb'], [u'xyzc', u'xyzd', u'xyze', u'xyzf', u'xyzg',
> u'xyzh'], u'xyzd', [u'xyza'],[u'xyxv']]
现在,键列表在其中包含一些其他键和重复项的另一个列表。
我试图使用类似的东西将此列表列表转换为字符串列表
> [','.join(x) for x in list01]
但这对我不起作用,因为我在输出中也得到了一些单个字符,例如['xyza'。'x','y',...]
我如何能够在这里解析列表数据以获得类似的输出
['xyza', 'xyzb', 'xyzc',...,'xyzx']
因为您有列表和字符串的列表,并且想要没有重复的字符串列表。
创建结果列表,然后遍历父列表并检查每个对象的类型,如果它是类型列表,则遍历子列表并检查结果列表中是否存在子列表中的字符串(如果存在),则忽略其他如果不存在,则将其添加到列表中,而不是列表类型时,对父列表进行迭代也是如此。
res = [[u'xyza'], [u'xyzb'], [u'xyzc', u'xyzd', u'xyze', u'xyzf', u'xyzg', u'xyzh'], u'xyzd', [u'xyza'],[u'xyxv']]
result =[]
for i in res:
if isinstance(i, list):
for j in i:
if j not in result:
result.append(j)
else:
if i not in result:
result.append(i)
print(result)
输出:
['xyza', 'xyzb', 'xyzc', 'xyzd', 'xyze', 'xyzf', 'xyzg', 'xyzh','xyxv']
如果您想使其更快一点,则result
可以将其创建为字典,而不是作为list,而无需检查字符串是否存在的情况,您只需更新字典,然后遍历整个列表即可转换字典列出的关键,这就是你的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句