Idiomatic и в одну строку?Нет.
Вот не идиоматическая, безобразная, однорядная строчка.
>>> x = [4, 3, 3, 2, 4, 1]
>>> [y for y in (locals().__setitem__('d',{}) or x.sort() or x)
if y not in d and (d.__setitem__(y, None) or True)]
[1, 2, 3, 4]
Если приемлем простой двухслойный:
x = [4, 3, 3, 2, 4, 1]
x = dict(map(None,x,[])).keys()
x.sort()
Или сделайте двамаленькие вспомогательные функции (работают для любой последовательности):
def unique(it):
return dict(map(None,it,[])).keys()
def sorted(it):
alist = [item for item in it]
alist.sort()
return alist
print sorted(unique([4, 3, 3, 2, 4, 1]))
дает
[1, 2, 3, 4]
И, наконец, полифитонный вкладыш:
x = [4, 3, 3, 2, 4, 1]
x.sort() or [s for s, t in zip(x, x[1:] + [None]) if s != t]