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.