Heim  >  Artikel  >  Backend-Entwicklung  >  Deduplizierung von Python-Listen

Deduplizierung von Python-Listen

巴扎黑
巴扎黑Original
2016-12-07 10:46:031609Durchsuche

Python-Listen-Deduplizierung

一.{}.fromkeys(list).keys()

list2 = {}.fromkeys(list1).keys ( )

two.set

list2 = list(set(list1))

three.itertools.grouby

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids.sort()

it = itertools . groupby(ids)

für k, g darin:

print k

Vier, dumme Methode

ids = [ 1,2,3,3,4,2,3,4,5,6,1]

news_ids = []

for id in ids:

if id nicht in news_ids:

news_ids.append(id)

print news_ids

Diese vier haben ein Merkmal: Nach der Deduplizierung ändert sich die Reihenfolge der Elemente und die Effizienz angeblich Der erste ist etwas schneller als der zweite

5. Durch die Neusortierung des Index können Duplikate entfernt und die Reihenfolge der Elemente beibehalten werden

# Das Ergebnis ist [1, 4, 3, 2, 5, 6] Nicht [1, 2, 3, 4, 5, 6]

ids = [1,4,3,3,4,2 ,3,4,5,6 ,1]

news_ids = list(set(ids))

news_ids.sort(key=ids.index)

news_ids drucken #[1, 4, 3, 2, 5, 6]

Sechs: Reduzieren

ids = [1,4,3,3,4,2, 3,4,5,6, 1]

func = lambda x,y:x if y in x else x + [y]

print Reduce(func, [[], ] + ids)#[1, 4 , 3, 2, 5, 6]


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn