python - 获取唯一项目的有序列表的最佳/最pythonic方式

标签 python list

我有一个或多个无序的(不可变的,可散列的)对象序列,可能有重复项,我想获得所有这些对象的排序序列,没有重复项。

现在我正在使用一个集合来快速收集所有丢弃重复的元素,将其转换为列表,然后对其进行排序:

result = set()
for s in sequences:
    result = result.union(s)
result = list(result)
result.sort()
return result

它有效,但我不会称它为“漂亮”。有没有更好的办法?

最佳答案

这应该有效:

sorted(set(itertools.chain.from_iterable(sequences)))

关于python - 获取唯一项目的有序列表的最佳/最pythonic方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7458689/

相关文章:

python - MONGO_QUERY_BLACKLIST 不起作用

python - 旋转 glViewport?

python - 通过 pymssql 插入但没有行出现在数据库中

javascript - 使用 IndexOf 分割数组不起作用

python - 如何 "slice"一对基于其中一个列表中的值的列表

c - 如何在不添加 printfs 的情况下在调用函数时打印函数名称?

javascript - 什么会导致 html 和脚本在 for 循环的迭代中表现不同?

eclipse - "Exception in thread "main "java.util.NoSuchElementException: head of empty list "error and more in Scala

R - 将具有 NULL 类型的列表转换为数据帧

python - 多处理超时?