将列表列表转换为字符串列表

前缀:

我想在这里将此列表列表转换为字符串列表。转换背后的想法是从输出中删除重复项。

这是原始列​​表:(的输出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']
sahasrara62:

因为您有列表和字符串的列表,并且想要没有重复的字符串列表。

创建结果列表,然后遍历父列表并检查每个对象的类型,如果它是类型列表,则遍历子列表并检查结果列表中是否存在子列表中的字符串(如果存在),则忽略其他如果不存在,则将其添加到列表中,而不是列表类型时,对父列表进行迭代也是如此。

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章