Python eemaldab duplikaadid loendist

Lang L: none (table-of-contents):

Anonim

Loend on konteiner, mis sisaldab erinevaid Pythoni objekte, mis võivad olla täisarvud, sõnad, väärtused jne. See on samaväärne massiiviga teistes programmeerimiskeeltes.

Nii et siin käime läbi erinevaid viise, kuidas saame duplikaadid antud loendist eemaldada.

Selles õpetuses saate teada:

  • Eemaldage duplikaadid loendist, kasutades seadistust
  • Eemaldage duplikaadid loendist ajutise loendi abil.
  • Eemaldage duplikaadid loendist, kasutades Dict
  • Kustuta duplikaadid loendist for-loopi abil
  • Loendist arusaamise abil eemaldage duplikaadid loendist
  • Eemaldage loendist duplikaadid, kasutades Numpy unique () meetodit.
  • Duplikaatide eemaldamine loendist Pandase meetodite abil
  • Duplikaatide eemaldamiseks kasutage loendit () ja loendi mõistmist

Eemaldage duplikaadid loendist, kasutades seadistust

Duplikaatide loendist eemaldamiseks võite kasutada sisseehitatud funktsioonide komplekti (). Meetodi set () eripära on see, et see tagastab erinevad elemendid.

Meil on nimekiri: [1,1,2,3,2,2,4,5,6,2,1]. Loendis on palju duplikaate, mille peame eemaldama ja tagasi saama ainult erinevad elemendid. Nimekiri antakse sisseehitatud funktsioonile set (). Hiljem kuvatakse lõplik loend, kasutades sisseehitatud funktsiooni list (), nagu on näidatud allpool toodud näites.

Saadud väljund on erinevad elemendid, kus kõik duplikaatide elemendid on elimineeritud.

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

Väljund:

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

Eemaldage duplikaadid loendist ajutise loendi abil

Antud loendist duplikaatide eemaldamiseks võite kasutada tühja ajutist loendit. Selleks peate esmalt loendi duplikaatidega läbi looma ja ainulaadsed üksused ajutisse loendisse lisama. Hiljem määratakse ajutine loend põhiloendisse.

Siin on toimiv näide ajutise loendi kasutamisest.

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)

Väljund:

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

Eemaldage duplikaadid loendist, kasutades Dict

Saame antud loendist duplikaadid eemaldada, importides kogudest OrderedDict. See on saadaval alates python2.7-st. OrderedDict hoolitseb selle eest, et teile eraldataks erinevad elemendid võtme olemasolu järjekorras.

Kasutage loendi unikaalsete elementide saamiseks loendist loendit ja meetodit fromkeys (), mis on saadaval rakenduses OrderedDict.

Meetodi OrderedDict.fromkey () kasutamiseks peate importima OrderedDict kogudest, nagu allpool näidatud:

from collections import OrderedDict

Siin on näide duplikaatide eemaldamiseks meetodi OrderedDict.fromkeys () abil.

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))

Väljund:

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

Alates Python 3.5+ -st saame loendist eraldatud elementide saamiseks kasutada tavalist dict.fromkeys (). Meetodid dict.fromkeys () tagastavad unikaalsed võtmed ja aitavad duplikaatväärtustest lahti saada.

Näide, mis näitab loendis dict.fromkeys () toimimist unikaalsete üksuste andmiseks, on järgmine:

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

Väljund:

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

Kustuta duplikaadid loendist for-loopi abil

For-loopi abil läbime duplikaatide eemaldamiseks üksuste loendi.

Esmalt lähtestage massiiv tühjaks, st myFinallist = []. Lisage for-loopi juurde kontroll, kas loendis olevad üksused on olemas massiivis myFinallist. Kui üksusi pole olemas, lisage üksus massiivi myFinallist masina lisandi () abil meetod.

Nii et kui dubleeriv element tekib, on see juba massiivis myFinallist olemas ja seda ei lisata. Kontrollime nüüd allolevas näites sama:

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))

Väljund:

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

Loendist arusaamise abil eemaldage duplikaadid loendist

Loendi mõistmine on Pythoni funktsioon, mida kasutatakse juba loodud järjestuste abil uute jadade (näiteks loendite, sõnastike jms) loomiseks. See aitab teil vähendada pikemaid tsükleid ja hõlbustada koodi lugemist ja hooldamist.

Kasutagem loendi mõistmist, et eemaldada duplikaadid antud loendist.

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)

Väljund:

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

Eemaldage loendist duplikaadid, kasutades Numpy unique () meetodit.

Numpy mooduli unikaalne () meetod aitab meil duplikaadid antud loendist eemaldada.

Numpy first import numpy mooduliga töötamiseks peate järgima neid samme:

1. samm. Importige Numpy moodul

import numpy as np

2. samm. Kasutage unikaalse meetodi loendit duplikaatidega, nagu allpool näidatud. Väljund teisendatakse tolist () meetodil tagasi loendivormingusse.

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

Samm 3) Lõpuks printige loend, nagu allpool näidatud:

print(myFinalList)

Lõplik väljundkood on järgmine:

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

Väljund:

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

Duplikaatide eemaldamine loendist Pandase meetodite abil

Pandase moodulil on ainulaadne () meetod, mis annab meile ainulaadsed elemendid antud loendist.

Mooduliga Pandas töötamiseks peate järgima neid samme:

Samm 1) Impordi moodul Pandas

import pandas as pd

Samm 2) Kasutage unikaalse () meetodi duplikaatidega loendit, nagu allpool näidatud:

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

Samm 3) Printige loend allpool näidatud viisil:

print(myFinalList)

Lõplik väljundkood on järgmine:

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

Väljund:

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

Duplikaatide eemaldamiseks kasutage loendit () ja loendi mõistmist

Siin on duplikaatelementide eemaldamiseks loendi mõistmise ja loendamise kombinatsioon. Loendur tagastab loendi igale elemendile loenduriga objekti. Näiteks (0,1), (1,2) jne. Siin on esimene väärtus indeks ja teine ​​väärtus loendi üksus. W

Iga elementi kontrollitakse, kui see on loendis olemas, ja kui see on olemas, eemaldatakse see loendist.

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))

Väljund:

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

Kokkuvõte

  • Duplikaatide loendist eemaldamiseks võite kasutada sisseehitatud funktsioonide komplekti (). Meetodi set () eripära on see, et see tagastab erinevad elemendid.
  • Saate duplikaadid antud loendist eemaldada, importides kogud OrderedDictfrom. See on saadaval alates python2.7-st. OrderedDictdict hoolitseb selle eest, et teile tagastataks erinevad elemendid järjestuses, milles võti on olemas.
  • Duplikaatide eemaldamiseks võite kasutada for-loopi, mille abil me liigume üksuste loendis.
  • Numpy mooduli unikaalne () meetod aitab meil duplikaadid antud loendist eemaldada.
  • Pandase moodulil on ainulaadne () meetod, mis annab meile ainulaadsed elemendid antud loendist.
  • Duplikaatelementide loendist eemaldamiseks kasutatakse loendi mõistmise ja loendamise kombinatsiooni. Loendur tagastab loendi igale elemendile loenduriga objekti.