Другие упомянули sorted (set (my_list)), который работает для значений, которые можно хэшировать, таких как строки, числа и кортежи, но не для типов, которые нельзя отменить, таких как списки.
Чтобы получить отсортированный список значенийлюбой сортируемый тип, без дубликатов:
from itertools import izip, islice
def unique_sorted(values):
"Return a sorted list of the given values, without duplicates."
values = sorted(values)
if not values:
return []
consecutive_pairs = izip(values, islice(values, 1, len(values)))
result = [a for (a, b) in consecutive_pairs if a != b]
result.append(values[-1])
return result
Это можно еще более упростить, используя рецепты "pairwise" или "unique_justseen" из документации itertools .