所以給那麼集{'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. 我如何在Python中的列表中創建一個集合?
- 2. 我想從更大的集合中創建對象的集合
- 3. 創建集合/列表
- 4. Boost.MultiIndex:如何創建一個有效的集合交集?
- 5. python中三個集合的交集?
- 6. 創建一個jQuery集合
- 7. Python列表集合
- 8. 集合的交集和詞典列表
- 9. 列表的創建與元素集合
- 10. 從集合創建集合?
- 11. 複製列表中的一個集合到另一個集合
- 12. C:創建一個結構集合/創建一個整數列表
- 13. 從Prolog中的列表創建一個集合
- 14. 使用細胞集合中的LINQ創建一個int列表
- 15. 創建集合並在集合中有效位置列表
- 16. Node,MongoDB,Mongoose Design Choice - 創建兩個集合或一個集合
- 17. 創建可觀察列表/集合
- 18. 如何獲取兩個列表並返回Python中的集合的交集?
- 19. 根據多列條件在同一個表內創建「集合」
- 20. 如何在數組中創建一個列表集合?
- 21. 兩個集合交集
- 22. 創建Python字典的一個超集
- 23. 集合的交集
- 24. PLSQL集合 - 創建一個記錄集合還是不是?
- 25. 在另一個集合中創建和查詢集合。 mongodb node.js
- 26. C#創建兩個集合
- 27. laravel redis用ttl創建一個集合?
- 28. 創建一個集合視圖
- 29. Android創建一個集合,當添加
- 30. 創建一個雙鍵集合
您能詳細說明輸出的內容嗎?這個問題的起源是什麼?這三個集合的交集是空集{}。 –
@TomRose在問題'['','b','c'},{'d'},{'e','f'}]' – woozyking
@agf這是一個很好的問題,但他沒有:「包括嘗試的解決方案,爲什麼他們不工作。」他只需要編輯它。 –