从这个数据结构:[(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