我有一个或多个(不可变的,可散列的)对象的无序序列,可能有重复,我想得到所有这些对象的排序序列,没有重复.
现在我正在使用一个集合来快速收集所有丢弃重复项的元素,将其转换为列表然后对其进行排序:
result = set()
for s in sequences:
result = result.union(s)
result = list(result)
result.sort()
return result
Run Code Online (Sandbox Code Playgroud)
它有效,但我不会称之为"漂亮".有没有更好的办法?
JBe*_*rdo 13
这应该工作:
sorted(set(itertools.chain.from_iterable(sequences)))
Run Code Online (Sandbox Code Playgroud)