Python 到达字典中的元素类型列表及其操作

Python 到达字典中的元素类型列表及其操作,python,python-3.x,list,dictionary,duplicates,Python,Python 3.x,List,Dictionary,Duplicates,我一直在问一个关于从由列表组成的字典中获取元素的问题。这里的任务是从ids列表中获取唯一值,答案应该是:[213,15,54,119,98,35]。我知道我应该使用.intersection(set),但是,我花了很多时间试图从这个字典中剪切数据,使它们看起来像set ids = {'user1': [213, 213, 213, 15, 213], 'user2': [54, 54, 119, 119, 119], 'user3': [213, 98, 98,

我一直在问一个关于从由列表组成的字典中获取元素的问题。这里的任务是从ids列表中获取唯一值,答案应该是:
[213,15,54,119,98,35]
。我知道我应该使用
.intersection(set)
,但是,我花了很多时间试图从这个字典中剪切数据,使它们看起来像set

ids = {'user1': [213, 213, 213, 15, 213], 
       'user2': [54, 54, 119, 119, 119], 
       'user3': [213, 98, 98, 35]}
我只有这个,但我太紧张了,看不到任何解决办法,这就是为什么我请求帮助

for items in ids.items():
  sets=set(items[1])
print(sets)

获取字典值,用展开结果嵌套列表,并构建一个

from itertools import chain

set(chain.from_iterable(ids.values()))
#{15, 35, 54, 98, 119, 213}

您可以使用
|
联合运算符

out=set()
for val in ids.values():
    out=out|set(val)

list(out)
# [15, 35, 54, 98, 119, 213]
或者您可以使用
union
方法

out=set() #Suggested by @schwobaseggl 
for val in ids.values():
    out=out.union(val)
集合理解

{i for val in ids.values() for i in val}

如果使用
union
方法,则无需将
val
转换为setOh。我建议使用相同的set理解答案。我没看到你也这么做。我将删除我的答案。@RoadRunner实际上我们两人同时发布了它。。)@Ch3steR不使用
sum
连接列表。它有二次复杂性。@RoadRunner我也投票决定关闭它,因为它是你建议的复制品。