使用列表解析从列表列表中删除重复项

The*_*337 2 python list-comprehension

我很好奇你是否可以从列表列表中删除重复项并将uniques作为列表返回.我在尝试这个:

def do_list( lists ):
    res = [ [ one for one in temp if one not in res ] for temp in lists ]
    return res
Run Code Online (Sandbox Code Playgroud)

例如,如果:

lists = [ [ "a","b","c" ],[ "d","a" ],[ "c","a","f" ] ]
Run Code Online (Sandbox Code Playgroud)

结果应该是:

[ "a","b,"c","d","f" ]    
Run Code Online (Sandbox Code Playgroud)

但它给了我错误,我在分配之前参考变量res.

Pyt*_*sta 6

你可以这样做:

set(itertools.chain.from_iterable(lists))
Run Code Online (Sandbox Code Playgroud)

set将删除所有重复项,set只是将您的列表展平为单个列表.