>>> a = range(5, 15)
>>> b = range(10, 20)
>>> print sorted(set(a + b))
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Или, если вы хотите более общее расширение списков до их элементов для включения в набор:
>>> list_of_lists = [a, b]
>>> print sorted(set(elem for l in list_of_lists for elem in l))
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
И я нашел способ собрать все это в одну строку:
>>> list_of_lists = [a, b]
>>> print set.union(*map(set, list_of_lists))
Нужна ли сортировка?Это просто пояснение, но тогда я не вижу, что наборы обязательно выводятся в отсортированном порядке:
>>> x = set(range(3))
>>> x
set([0, 1, 2])
>>> x.add(-1)
>>> x
set([0, 1, 2, -1])