Saraksts ir konteiners, kurā ir dažādi Python objekti, kas varētu būt veseli skaitļi, vārdi, vērtības utt. Tas ir masīva ekvivalents citās programmēšanas valodās.
Tātad šeit būs dažādi veidi, kā mēs varam noņemt dublikātus no norādītā saraksta.
Šajā apmācībā jūs uzzināsiet:
- Noņemiet dublikātus no saraksta, izmantojot Iestatīt
- Noņemiet dublikātus no saraksta, izmantojot pagaidu sarakstu.
- Noņemiet dublikātus no saraksta, izmantojot Dict
- Noņemiet dublikātus no saraksta, izmantojot for-loop
- Noņemiet dublikātus no saraksta, izmantojot saraksta izpratni
- Noņemiet dublikātus no saraksta, izmantojot Numpy unique () metodi.
- Noņemiet dublikātus no saraksta, izmantojot Pandas metodes
- Noņemiet dublikātus, izmantojot uzskaitījumu () un saraksta izpratni
Noņemiet dublikātus no saraksta, izmantojot Iestatīt
Lai noņemtu dublikātus no saraksta, varat izmantot iebūvēto funkciju kopu (). Metodes set () īpatnība ir tā, ka tā atgriež atšķirīgus elementus.Mums ir saraksts: [1,1,2,3,2,2,4,5,6,2,1]. Sarakstā ir daudz dublikātu, kas mums ir jānoņem un jāatgūst tikai atšķirīgie elementi. Saraksts tiek dots iebūvētajai funkcijai set (). Vēlāk galīgais saraksts tiek parādīts, izmantojot saraksta () iebūvēto funkciju, kā parādīts zemāk esošajā piemērā.
Iegūtais rezultāts ir atšķirīgi elementi, kur visi dublikātu elementi tiek izslēgti.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Izeja:
[1, 2, 3, 4, 5, 6]
Noņemiet dublikātus no saraksta, izmantojot pagaidu sarakstu
Lai noņemtu dublikātus no norādītā saraksta, varat izmantot tukšu pagaidu sarakstu. Vispirms jums būs jāpārskata saraksts ar dublikātiem un jāpievieno unikālie vienumi pagaidu sarakstam. Vēlāk pagaidu saraksts tiek piešķirts galvenajam sarakstam.
Šis ir piemērs, izmantojot pagaidu sarakstu.
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)
Izeja:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Noņemiet dublikātus no saraksta, izmantojot Dict
Mēs varam noņemt dublikātus no norādītā saraksta, importējot OrderedDict no kolekcijām. Tas ir pieejams sākot no python2.7. OrderedDict rūpējas par to, lai jūs atgrieztu atšķirīgos elementus secībā, kādā atrodas atslēga.
Izmantosim sarakstu un izmantojiet metodi fromkeys (), kas pieejama vietnē OrderedDict, lai iegūtu unikālos elementus no saraksta.
Lai izmantotu metodi OrderedDict.fromkey (), jums jāimportē OrderedDict no kolekcijām, kā parādīts zemāk:
from collections import OrderedDict
Šeit ir dublikātu noņemšanas piemērs, izmantojot metodi 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))
Izeja:
['a', 'x', 'y', 'b', 'c']
Sākot ar Python 3.5+, mēs varam izmantot parasto dict.fromkeys (), lai iegūtu atšķirīgos elementus no saraksta. Metodes dict.fromkeys () atgriež atslēgas, kas ir unikālas un palīdz atbrīvoties no vērtību dublikātiem.
Piemērs, kas parāda dict.fromkeys () darbību sarakstā, lai dotu unikālos vienumus, ir šāds:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Izeja:
['a', 'x', 'y', 'b', 'c']
Noņemiet dublikātus no saraksta, izmantojot for-loop
Izmantojot for-loop, mēs šķērsosim vienumu sarakstu, lai noņemtu dublikātus.
Vispirms inicializējiet masīvu, lai tas būtu tukšs, ti, myFinallist = []. Iekš for-loop pievienojiet pārbaudi, vai saraksta vienumi pastāv masīvā myFinallist. Ja vienumi nepastāv, pievienojiet elementu masīvam myFinallist, izmantojot papildinājumu () metodi.
Tātad, kad vien tiek sastādīts vienuma dublikāts, tas jau būs atrodams masīvā myFinallist un netiks ievietots. Pārbaudīsim to pašu zemāk esošajā piemērā:
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))
Izeja:
[1, 2, 3, 4, 5, 6]
Noņemiet dublikātus no saraksta, izmantojot saraksta izpratni
Sarakstu izpratne ir Python funkcijas, kuras tiek izmantotas jaunu secību (piemēram, sarakstu, vārdnīcu utt.) Izveidošanai, izmantojot jau izveidotas sekvences. Tas palīdz samazināt garākas cilpas un padarīt kodu vieglāk lasāmu un uzturamu.
Izmantosim izpratni par sarakstu, lai noņemtu dublikātus no norādītā saraksta.
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)
Izeja:
[1, 2, 3, 4, 5, 6]
Noņemiet dublikātus no saraksta, izmantojot Numpy unique () metodi.
Numpy moduļa unikālā metode () var palīdzēt mums noņemt dublikātu no norādītā saraksta.
Lai strādātu ar Numpy first import numpy moduli, jums jāveic šādas darbības:
1. darbība. Importējiet Numpy moduli
import numpy as np
2. solis. Izmantojiet savu sarakstu ar dublikātiem unikālajā metodē, kā parādīts zemāk. Izmantojot tolist () metodi, produkcija tiek konvertēta atpakaļ saraksta formātā.
myFinalList = np.unique(my_list).tolist()
3. solis. Visbeidzot izdrukājiet sarakstu, kā parādīts zemāk:
print(myFinalList)
Galīgais kods ar izvadi ir šāds:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Izeja:
[1, 2, 3, 4, 5, 6]
Noņemiet dublikātus no saraksta, izmantojot Pandas metodes
Modulim Pandas ir unikāla () metode, kas mums dos unikālos elementus no norādītā saraksta.
Lai strādātu ar Pandas moduli, jums jāveic šādas darbības:
1. darbība. Importējiet Pandas moduli
import pandas as pd
2. solis. Izmantojiet savu sarakstu ar dublikātiem unikālajā () metodē, kā parādīts zemāk:
myFinalList = pd.unique(my_list).tolist()
3. solis. Izdrukājiet sarakstu, kā parādīts zemāk:
print(myFinalList)
Galīgais kods ar izvadi ir šāds:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Izeja:
[1, 2, 3, 4, 5, 6]
Noņemiet dublikātus, izmantojot uzskaitījumu () un saraksta izpratni
Šeit saraksta izpratnes un uzskaitījuma kombinācija, lai noņemtu dublētos elementus. Enumerate atgriež objektu ar skaitītāju katram saraksta elementam. Piemēram, (0,1), (1,2) utt. Šeit pirmā vērtība ir indekss, bet otrā vērtība ir saraksta vienums. W
Katrs elements tiek pārbaudīts, vai tas pastāv sarakstā, un, ja ir, tas tiek noņemts no saraksta.
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))
Izeja:
[1, 2, 3, 4, 5, 6]
Kopsavilkums
- Lai noņemtu dublikātus no saraksta, varat izmantot iebūvēto funkciju kopu (). Metodes set () īpatnība ir tā, ka tā atgriež atšķirīgus elementus.
- Jūs varat noņemt dublikātus no norādītā saraksta, importējot OrderedDictfrom kolekcijas. Tas ir pieejams sākot no python2.7. OrderedDictdict rūpējas par to, lai jūs atgrieztu atšķirīgos elementus secībā, kādā atrodas atslēga.
- Jūs varat izmantot for-loop, kas mēs šķērsosim vienumu sarakstu, lai noņemtu dublikātus.
- Numpy moduļa unikālā metode () var palīdzēt mums noņemt dublikātu no norādītā saraksta.
- Modulim Pandas ir unikāla () metode, kas mums dos unikālos elementus no norādītā saraksta.
- Saraksta izpratnes un uzskaitījuma kombinācija tiek izmantota, lai no saraksta noņemtu elementu dublikātus. Enumerate atgriež objektu ar skaitītāju katram saraksta elementam.