從這個數據結構:[(1,2),(1,3),(1,4),(1,5)]
我打算獲取唯一的值,或[1,2,3,4,5]
。這裏有什麼簡單的解決方案?元組對的唯一唯一值?
0
A
回答
3
您可以使用set
與列表理解:
lst = [(1,2),(1,3),(1,4),(1,5)]
set(j for i in lst for j in i)
# {1, 2, 3, 4, 5}
+0
這是解決這個問題的第一個也是最簡單的/ pythonic的方法。很好的答案。 –
+2
你也可以使用一個理解:「{i爲i中的i,i中的j}」。 :) – MSeifert
1
使用來自itertools
模塊的chain.from_iterable
。它通常被認爲是扁平2D迭代的慣用方式,而不是嵌套列表理解。請參閱this問題。
>>> from itertools import chain
>>> set(chain.from_iterable([(1,2),(1,3),(1,4),(1,5)]))
{1, 2, 3, 4, 5}
chain.from_iterable
平展列表和set
保持唯一的值。
要轉換回列表,只需傳遞給list
構造函數。
>>>list(set(chain.from_iterable([(1,2),(1,3),(1,4),(1,5)])))
[1, 2, 3, 4, 5]
0
在您的預期輸出的唯一元素的順序是按照出場順序。這樣做將是一個方法(使用外部庫,但食譜是在itertools
-recipes section繳費):
>>> from iteration_utilities import flatten, unique_everseen
>>> x = [(1,2),(1,3),(1,4),(1,5)]
>>> list(unique_everseen(flatten(x)))
[1, 2, 3, 4, 5]
相關問題
- 1. 數組唯一值
- 2. 唯一數組值
- 3. MySQL - 使一對值唯一
- 4. 檢查數組中的唯一值和非唯一值
- 5. XSLT按唯一元素值分組?
- 6. Gmail API:message_id是唯一的還是(thread_id,message_id)元組是唯一的?
- 7. 顯示唯一顏色的唯一值
- 8. 數組對象前5個唯一值
- 9. PHP數組唯一值
- 10. 另一列的唯一值的一列的唯一值
- 11. 查找元組的唯一數組
- 12. COUNTIFS唯一值
- 13. SQL唯一值
- 14. 唯一值數
- 15. Mongodb唯一值
- 16. XSL唯一值
- 17. LINQ的唯一值
- 18. 唯一元素ID
- 19. couchdb查詢中元組的唯一性
- 20. 找到唯一的三元組
- 21. 給數組元素的唯一ID
- 22. 組由唯一值從Active Directory組
- 23. 選擇具有唯一值的元素
- 24. XSD中元素的唯一值
- 25. PHP - 數組中產生每個組唯一值的HTML元素
- 26. 使用lodash返回一個唯一值數組,同時刪除非唯一的
- 27. PostgreSQL對於一組特定值的唯一索引
- 28. 如何將一對值轉換爲排序的唯一數組?
- 29. 如何將一組唯一的數字值轉換爲一組較短的唯一字母數字值?
- 30. 如何計算表中唯一值的唯一值
是使用中間集好嗎? – Nic