Popis je spremnik koji sadrži različite Python objekte, koji mogu biti cijeli brojevi, riječi, vrijednosti itd. To je ekvivalent niza u drugim programskim jezicima.
Dakle, ovdje ćemo proći na različite načine na koje možemo ukloniti duplikate s datog popisa.
U ovom vodiču naučit ćete:
- Uklonite duplikate s popisa pomoću Postavi
- Uklonite duplikate s popisa pomoću Privremenog popisa.
- Uklonite duplikate s popisa pomoću Dicta
- Uklonite duplikate s popisa pomoću for-loop
- Uklonite duplikate s popisa pomoću razumijevanja popisa
- Uklonite duplikate s popisa metodom Numpy unique ().
- Uklonite duplikate s popisa pomoću metoda Pandas
- Uklonite duplikate pomoću enumerate () i razumijevanja popisa
Uklonite duplikate s popisa pomoću Postavi
Da biste uklonili duplikate s popisa, možete se koristiti ugrađenim skupom funkcija (). Posebnost metode set () je u tome što vraća različite elemente.Imamo popis: [1,1,2,3,2,2,4,5,6,2,1]. Popis ima mnogo duplikata koje trebamo ukloniti i vratiti natrag samo različite elemente. Popis se daje ugrađenoj funkciji set (). Kasnije se konačni popis prikazuje pomoću ugrađene funkcije list (), kao što je prikazano u donjem primjeru.
Rezultat koji dobivamo su različiti elementi u kojima se uklanjaju svi duplicirani 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))
Izlaz:
[1, 2, 3, 4, 5, 6]
Uklonite duplikate s popisa pomoću Privremenog popisa
Da biste uklonili duplikate s datog popisa, možete koristiti prazni privremeni popis. Kao prvo, morat ćete pregledati popis s duplikatima i dodati jedinstvene stavke na privremeni popis. Kasnije se privremeni popis dodjeljuje glavnom popisu.
Evo radnog primjera pomoću privremenog popisa.
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)
Izlaz:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Uklonite duplikate s popisa pomoću Dicta
Duplikate s navedenog popisa možemo ukloniti uvozom OrderedDict iz zbirki. Dostupan je od python2.7 nadalje. OrderedDict se brine da vam vrati različite elemente redoslijedom kojim je prisutan ključ.
Iskoristimo popis i upotrijebimo metodu fromkeys () dostupnu u OrderedDict za dobivanje jedinstvenih elemenata s popisa.
Da biste koristili metodu OrderedDict.fromkey (), morate uvesti OrderedDict iz zbirki, kao što je prikazano dolje:
from collections import OrderedDict
Evo primjera uklanjanja duplikata metodom 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))
Izlaz:
['a', 'x', 'y', 'b', 'c']
Od Pythona 3.5+ pa nadalje, možemo koristiti uobičajeni dict.fromkeys () da bismo dobili posebne elemente s popisa. Metode dict.fromkeys () vraćaju jedinstvene ključeve i pomažu u uklanjanju dvostrukih vrijednosti.
Primjer koji prikazuje rad dict.fromkeys () na popisu za davanje jedinstvenih predmeta je sljedeći:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Izlaz:
['a', 'x', 'y', 'b', 'c']
Uklonite duplikate s popisa pomoću for-loop
Koristeći for-loop, preći ćemo popis stavki da bismo uklonili duplikate.
Prvo inicijalizirajte polje da se isprazni, tj. MyFinallist = []. Unutar for-petlje dodajte provjerite postoje li stavke na popisu u polju myFinallist. Ako stavke ne postoje, dodajte stavku u niz myFinallist pomoću append () metoda.
Dakle, kad god se nađe duplicirana stavka, ona će već biti prisutna u polju myFinallist i neće biti umetnuta. Provjerimo sada isto u primjeru dolje:
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))
Izlaz:
[1, 2, 3, 4, 5, 6]
Uklonite duplikate s popisa pomoću razumijevanja popisa
Poimanja popisa su Python funkcije koje se koriste za stvaranje novih sekvenci (poput popisa, rječnika itd.) Pomoću već stvorenih sekvenci. To vam pomaže smanjiti duže petlje i olakšati čitanje i održavanje koda.
Iskoristimo razumijevanje popisa za uklanjanje duplikata s datog popisa.
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)
Izlaz:
[1, 2, 3, 4, 5, 6]
Uklonite duplikate s popisa metodom Numpy unique ().
Metoda unique () iz modula Numpy može nam pomoći ukloniti duplikat s navedenog popisa.
Da biste radili s Numpy first import numpy modulom, morate slijediti ove korake:
Korak 1 ) Uvoz modula Numpy
import numpy as np
Korak 2) Koristite svoj popis s duplikatima unutar jedinstvene metode kao što je prikazano u nastavku. Izlaz se pretvara natrag u format popisa pomoću metode tolist ().
myFinalList = np.unique(my_list).tolist()
Korak 3) Na kraju ispišite popis kao što je prikazano u nastavku:
print(myFinalList)
Konačni kod s izlazom je sljedeći:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Izlaz:
[1, 2, 3, 4, 5, 6]
Uklonite duplikate s popisa pomoću metoda Pandas
Modul Pandas ima jedinstvenu () metodu koja će nam dati jedinstvene elemente s navedenog popisa.
Da biste radili s modulom Pandas, morate slijediti ove korake:
Korak 1) Uvoz modula Pandas
import pandas as pd
Korak 2) Koristite svoj popis s duplikatima u jedinstvenoj () metodi kao što je prikazano dolje:
myFinalList = pd.unique(my_list).tolist()
Korak 3) Ispišite popis kao što je prikazano u nastavku:
print(myFinalList)
Konačni kod s izlazom je sljedeći:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Izlaz:
[1, 2, 3, 4, 5, 6]
Uklonite duplikate pomoću enumerate () i razumijevanja popisa
Ovdje se kombinira popis poimanja i nabrajanja kako bi se uklonili duplicirani elementi. Enumerate vraća objekt s brojačem svakom elementu na popisu. Na primjer (0,1), (1,2) itd. Ovdje je prva vrijednost indeks, a druga vrijednost stavka popisa. W
Svaki se element provjerava postoji li na popisu, a ako postoji, uklanja se s popisa.
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))
Izlaz:
[1, 2, 3, 4, 5, 6]
Sažetak
- Da biste uklonili duplikate s popisa, možete se koristiti ugrađenim skupom funkcija (). Posebnost metode set () je u tome što vraća različite elemente.
- Duplikate s navedenog popisa možete ukloniti uvozom OrderedDictfrom zbirki. Dostupan je od python2.7 nadalje. OrndedDictdict brine se da vam vrati različite elemente redoslijedom kojim je prisutan ključ.
- Možete se poslužiti for-petljom kojom ćemo prelaziti popis stavki za uklanjanje duplikata.
- Metoda unique () iz modula Numpy može nam pomoći ukloniti duplikat s navedenog popisa.
- Modul Pandas ima jedinstvenu () metodu koja će nam dati jedinstvene elemente s navedenog popisa.
- Kombinacija razumijevanja i nabrajanja popisa koristi se za uklanjanje dvostrukih elemenata s popisa. Enumerate vraća objekt s brojačem svakom elementu na popisu.