[Python-de] Re: Frage zu einer Liste

Peter Otten __peter__ at web.de
Son Jun 27 17:30:07 CEST 2004


wujutin wrote:

> ich habe eine sortierte Liste, z.B.
> 
> [3, 5, 7, 8, 8, 9, 10, 10]
> 
> Weiß jemand eine elegante Möglichkeit, mit der ich die Wiederholungen
> wegfiltern kann,
> ohne dass ich eine temporäre Liste verwenden muss?

>>> def unique(seq):
...     it = iter(seq)
...     last = it.next()
...     yield last
...     for item in it:
...             if item != last:
...                     yield item
...                     last = item
...
>>> lst = [3,5,7,8,8,9,10,10]
>>> lst[:] = unique(lst)
>>> lst
[3, 5, 7, 8, 9, 10]
>>>

Ich bin mir allerdings nicht sicher, ob die Implementierung nicht doch eine
temporäre Liste verwendet.

Peter