Python删除列表字典中的重复项

J. *_*ams 1 python dictionary nested list unique

我的字典看起来像这样:

dictionary= {apple:[3,5], banana:[3,3,6], strawberry:[1,2,4,5,5]}
Run Code Online (Sandbox Code Playgroud)

我怎样才能删除每个值/列表的所有重复项(因此创建一个集合)?

我希望新词典看起来像这样:

{apple:[3,5], banana:[3,6], strawberry:[1,2,4,5]}
Run Code Online (Sandbox Code Playgroud)

pla*_*360 5

使用dict理解并设置删除重复项

d= {'apple':[3,5], 'banana':[3,3,6], 'strawberry':[1,2,4,5,5]}
print {k:list(set(j)) for k,j in d.items()}
Run Code Online (Sandbox Code Playgroud)

结果是

{'strawberry': [1, 2, 4, 5], 'apple': [3, 5], 'banana': [3, 6]}
Run Code Online (Sandbox Code Playgroud)

如果要保留列表顺序

d= {'apple':[3,5,5,8,4,5], 'banana':[3,3,6,1,1,3], 'strawberry':[5,1,1,2,4,5,5]}
print {k:sorted(set(j),key=j.index) for k,j in d.items()}
Run Code Online (Sandbox Code Playgroud)

结果是:

{'strawberry': [5, 1, 2, 4], 'apple': [3, 5, 8, 4], 'banana': [3, 6, 1]}
Run Code Online (Sandbox Code Playgroud)