【发布时间】:2023-04-01 16:09:01
【问题描述】:
我似乎无法弄清楚如何使用集合理解将以下内容写入一行代码。如果不可能,有没有更快的方法来做我想做的事情?基本上只是将字典的所有值放入一个集合中。一些值可以是一个空集。下面是一个简单的例子
d = {1:set(),2:{1,2,3},3:{4}}
t = set()
for k, v in d.items():
if len(v) > 0:
t.update(v)
print(t)
输出
{1,2,3,4}
【问题讨论】:
-
我看不到这里...
-
对不起,忘了把 t 放在那里。请看更新。它基本上只是一个集合
-
为什么不直接
t = set.union(*d.values())? -
for v in d.values()可以,if len(v) > 0不是必须的。 -
我之前确实尝试过 set.union 但没有得到答案。显然我错过了其中的*。谢谢
标签: python dictionary set set-comprehension