我有一个或多个无序的(不可变的,可散列的)对象序列,可能有重复项,我想获得所有这些对象的排序序列,没有重复项。
现在我正在使用一个集合来快速收集所有丢弃重复的元素,将其转换为列表,然后对其进行排序:
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/