Python odstrani dvojnike s seznama

Kazalo:

Anonim

Seznam je vsebnik, ki vsebuje različne predmete Python, ki so lahko cela števila, besede, vrednosti itd. Je ekvivalent matrike v drugih programskih jezikih.

Torej, tukaj bomo šli na različne načine, na katere lahko odstranimo dvojnike z določenega seznama.

V tej vadnici boste izvedeli:

  • Odstranite dvojnike s seznama s pomočjo Set
  • Odstranite dvojnike s seznama s pomočjo začasnega seznama.
  • Dvojnike s seznama odstranite s pomočjo Dicta
  • Odstranite dvojnike s seznama s pomočjo zanke for
  • Odstranite dvojnike s seznama z razumevanjem seznama
  • Odstranite dvojnike s seznama z uporabo metode Numpy unique ().
  • Odstranite dvojnike s seznama s pomočjo metod Pandas
  • Odstranite dvojnike s pomočjo enumerate () in razumevanja seznama

Odstranite dvojnike s seznama s pomočjo Set

Če želite dvojnike odstraniti s seznama, lahko uporabite vgrajeni nabor funkcij (). Posebnost metode set () je, da vrne ločene elemente.

Imamo seznam: [1,1,2,3,2,2,4,5,6,2,1]. Na seznamu je veliko dvojnikov, ki jih moramo odstraniti in vrniti le ločene elemente. Seznam je podan vgrajeni funkciji set (). Kasneje se končni seznam prikaže z uporabo vgrajene funkcije list (), kot je prikazano v spodnjem primeru.

Rezultat, ki ga dobimo, so ločeni elementi, pri katerih so odstranjeni vsi podvojeni elementi.

my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))

Izhod:

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

Odstranite dvojnike s seznama s pomočjo začasnega seznama

Če želite odstraniti dvojnike z določenega seznama, lahko uporabite prazen začasni seznam. Za to najprej boste morali prebrskati seznam z dvojniki in dodati unikatne predmete na začasni seznam. Kasneje se začasni seznam dodeli glavnemu seznamu.

Tu je delovni primer z uporabo začasnega seznama.

my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]print("List Before ", my_list)temp_list = []for i in my_list:if i not in temp_list:temp_list.append(i)my_list = temp_listprint("List After removing duplicates ", my_list)

Izhod:

List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]

Dvojnike s seznama odstranite s pomočjo Dicta

Dvojnike lahko s tega seznama odstranimo z uvozom OrderedDict iz zbirk. Na voljo je od python2.7 naprej. OrderedDict skrbi, da vam vrne ločene elemente v vrstnem redu, v katerem je prisoten ključ.

Za pridobitev edinstvenih elementov s seznama uporabimo seznam in uporabimo metodo fromkeys (), ki je na voljo v OrderedDict.

Če želite uporabiti metodo OrderedDict.fromkey (), morate iz zbirk uvoziti OrderedDict, kot je prikazano spodaj:

from collections import OrderedDict

Tu je primer odstranjevanja dvojnikov z metodo OrderedDict.fromkeys ().

from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))

Izhod:

['a', 'x', 'y', 'b', 'c']

Od Pythona 3.5+ naprej lahko uporabljamo običajni dict.fromkeys (), da dobimo različne elemente s seznama. Metode dict.fromkeys () vrnejo edinstvene ključe in pomagajo znebiti podvojenih vrednosti.

Primer, ki prikazuje delovanje funkcije dict.fromkeys () na seznamu, ki daje edinstvene elemente, je naslednji:

my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))

Izhod:

['a', 'x', 'y', 'b', 'c']

Odstranite dvojnike s seznama s pomočjo zanke for

S pomočjo zanke for bomo prešli seznam elementov, da odstranimo dvojnike.

Najprej inicializirajte matriko v prazno, tj. MyFinallist = []. Znotraj zanke for dodajte preverite, ali obstajajo elementi na seznamu v matriki myFinallist. Če elementi ne obstajajo, dodajte element v matriko myFinallist z uporabo append () metoda.

Torej, kadar koli se najde dvojnik, bo že prisoten v matriki myFinallist in ne bo vstavljen. Preverimo zdaj enako v spodnjem primeru:

my_list = [1,2,2,3,1,4,5,1,2,6]myFinallist = []for i in my_list:if i not in myFinallist:myFinallist.append(i)print(list(myFinallist))

Izhod:

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

Odstranite dvojnike s seznama z razumevanjem seznama

Razumevanja seznamov so funkcije Pythona, ki se uporabljajo za ustvarjanje novih zaporedij (kot so seznami, slovarji itd.) Z uporabo že ustvarjenih zaporedij. To vam pomaga zmanjšati daljše zanke in olajšati branje in vzdrževanje kode.

Izkoristimo razumevanje seznama, da odstranimo dvojnike s navedenega seznama.

my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [][my_finallist.append(n) for n in my_list if n not in my_finallist]print(my_finallist)

Izhod:

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

Odstranite dvojnike s seznama z uporabo metode Numpy unique ().

Metoda unique () iz modula Numpy nam lahko pomaga odstraniti dvojnike s navedenega seznama.

Če želite delati z modulom Numpy first import numpy, sledite tem korakom:

Korak 1 ) Uvoz modula Numpy

import numpy as np

Korak 2) Uporabite svoj seznam z dvojniki znotraj edinstvene metode, kot je prikazano spodaj. Izhod se pretvori nazaj v obliko seznama z uporabo metode tolist ().

myFinalList = np.unique(my_list).tolist()

Korak 3) Končno natisnite seznam, kot je prikazano spodaj:

print(myFinalList)

Končna koda z izhodom je naslednja:

import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)

Izhod:

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

Odstranite dvojnike s seznama s pomočjo metod Pandas

Modul Pandas ima edinstveno () metodo, ki nam bo dala edinstvene elemente s podanega seznama.

Za delo z modulom Pandas morate slediti tem korakom:

Korak 1) Uvoz modula Pandas

import pandas as pd

Korak 2) Uporabite svoj seznam z dvojniki znotraj metode unique (), kot je prikazano spodaj:

myFinalList = pd.unique(my_list).tolist()

Korak 3) Natisnite seznam, kot je prikazano spodaj:

print(myFinalList)

Končna koda z izhodom je naslednja:

import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)

Izhod:

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

Odstranite dvojnike s pomočjo enumerate () in razumevanja seznama

Tu je kombinacija razumevanja in naštevanja seznama za odstranjevanje podvojenih elementov. Enumerate vrne predmet s števcem vsakemu elementu na seznamu. Na primer (0,1), (1,2) itd. Tu je prva vrednost indeks, druga vrednost pa element seznama. W

Vsak element je preverjen, če obstaja na seznamu, in če obstaja, je odstranjen s seznama.

my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]print(list(my_finallist))

Izhod:

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

Povzetek

  • Če želite dvojnike odstraniti s seznama, lahko uporabite vgrajeni nabor funkcij (). Posebnost metode set () je, da vrne ločene elemente.
  • Dvojnike lahko s tega seznama odstranite z uvozom zbirk OrderedDictfrom. Na voljo je od python2.7 naprej. OrndedDictdict poskrbi, da vam vrne ločene elemente v vrstnem redu, v katerem je prisoten ključ.
  • Uporabite lahko zanko for, po kateri bomo prečkali seznam elementov, da odstranimo dvojnike.
  • Metoda unique () iz modula Numpy nam lahko pomaga odstraniti dvojnike s navedenega seznama.
  • Modul Pandas ima edinstveno () metodo, ki nam bo dala edinstvene elemente s podanega seznama.
  • Kombinacija razumevanja in naštevanja seznama se uporablja za odstranjevanje podvojenih elementov s seznama. Enumerate vrne predmet s števcem vsakemu elementu na seznamu.