所以给那么集{'a', 'b', 'c'}
,{'c', 'd'}
,{'d','e','f'}
。我想得到像列表[{'a', 'b', 'c'}, {'d'}, {'e','f'}]
。我的第一个猜测是,这会适合递归。 set 1,set2 - set1,set3 - (set1 & set2)。我认为我对递归函数的经验更多地沿着向另一个方向移动的因子例子。预先感谢您的帮助。我想创建一个Python集合交集的列表
-1
A
回答
3
可以用递归来做到这一点,但不是必要的。这很容易做到迭代:
>>> sets = {'a', 'b', 'c'}, {'c', 'd'}, {'d','e','f'}
>>> unique = []
>>> seen = set()
>>> for s in sets:
... unique.append(s - seen)
... seen |= s
...
>>> seen
set(['a', 'c', 'b', 'e', 'd', 'f'])
>>> unique
[set(['a', 'c', 'b']), set(['d']), set(['e', 'f'])]
0
我喜欢python,因为它的列表和设置解析。我认为这个问题突出了这个功能的便利性。
seta = {'a', 'b', 'c'}
setb = {'c', 'd'}
setc = {'d','e','f'}
list_of_sets = [seta, {b for b in setb: if b not in seta}, {c for c in setc: if c not in seta}]
+0
这不会扩大到更多的集合,这是他在想什么时候他谈到了递归。 – agf
相关问题
- 1. 我想从更大的集合中创建对象的集合
- 2. 创建集合/列表
- 3. Boost.MultiIndex:如何创建一个有效的集合交集?
- 4. python中三个集合的交集?
- 5. 创建一个jQuery集合
- 6. Python列表集合
- 7. 列表的创建与元素集合
- 8. 从集合创建集合?
- 9. 复制列表中的一个集合到另一个集合
- 10. C:创建一个结构集合/创建一个整数列表
- 11. 使用细胞集合中的LINQ创建一个int列表
- 12. Node,MongoDB,Mongoose Design Choice - 创建两个集合或一个集合
- 13. 创建可观察列表/集合
- 14. 如何获取两个列表并返回Python中的集合的交集?
- 15. 根据多列条件在同一个表内创建“集合”
- 16. 如何在数组中创建一个列表集合?
- 17. 两个集合交集
- 18. 集合的交集
- 19. 在另一个集合中创建和查询集合。 mongodb node.js
- 20. PLSQL集合 - 创建一个记录集合还是不是?
- 21. C#创建两个集合
- 22. Android创建一个集合,当添加
- 23. 如何创建一个Lockfree集合
- 24. 如何从defrecord创建一个集合?
- 25. laravel redis用ttl创建一个集合?
- 26. 创建一个双键集合
- 27. 列表的交集
- 28. python创建一个集合/字典/列表和它的值从单个列表理解的总和
- 29. 的Python:列表的交集/套
- 30. python中的N-many列表的交集
您能详细说明输出的内容吗?这个问题的起源是什么?这三个集合的交集是空集{}。 –
@TomRose在问题'['','b','c'},{'d'},{'e','f'}]' – woozyking
@agf这是一个很好的问题,但他没有:“包括尝试的解决方案,为什么他们不工作。”他只需要编辑它。 –