Kuinka poistaa kaksoiskappaleet luettelosta Python
Python poistaa kaksoiskappaleet luettelosta
Lista on sรคilรถ, joka sisรคltรครค erilaisia Python objektit, jotka voivat olla kokonaislukuja, sanoja, arvoja jne. Se vastaa taulukkoa muissa ohjelmointikielissรค.
Joten tรคssรค kรคydรครคn lรคpi erilaisia โโtapoja, joilla voimme poistaa kaksoiskappaleita tietystรค luettelosta Python.
Tapa 1) Poista kaksoiskappaleet luettelosta kรคyttรคmรคllรค Set
Voit poistaa kaksoiskappaleet luettelosta kรคyttรคmรคllรค sisรครคnrakennettua toimintoa set(). Set()-metodin erikoisuus on, ettรค se palauttaa erilliset elementit.
Meillรค on luettelo: [1,1,2,3,2,2,4,5,6,2,1]. Luettelossa on monia kaksoiskappaleita, jotka meidรคn on poistettava ja palautettava vain erilliset elementit. Luettelo annetaan set() sisรครคnrakennettu toiminto. Later lopullinen luettelo nรคytetรครคn kรคyttรคmรคllรค list() sisรครคnrakennettu toiminto alla olevan esimerkin mukaisesti.
Saatu tulos on erillisiรค elementtejรค, joissa kaikki kaksoiselementit eliminoidaan.
esimerkki
my_list = [1,1,2,3,2,2,4,5,6,2,1] my_final_list = set(my_list) print(list(my_final_list))
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Tapa 2) Vรคliaikaisen luettelon kรคyttรถ
Kopioiden poistaminen tiedosta list, voit kรคyttรครค tyhjรครค vรคliaikaista luetteloa. Tรคtรค varten sinun on ensin selattava luetteloa, jossa on kaksoiskappaleita, ja lisรคttรคvรค yksilรถlliset kohteet vรคliaikaiseen luetteloon. Later vรคliaikainen luettelo on liitetty pรครคluetteloon.
esimerkki
Tรคssรค on toimiva esimerkki vรคliaikaisesta luettelosta.
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_list
print("List After removing duplicates ", my_list)
lรคhtรถ:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Menetelmรค 3) Dict
Voimme poistaa kaksoiskappaleet annetusta luettelosta tuomalla OrderedDict kokoelmista. Se on saatavilla python 2.7:stรค alkaen. OrderedDict huolehtii erillisten elementtien palauttamisesta sinulle siinรค jรคrjestyksessรค, jossa avain on lรคsnรค.
Kรคyttรคkรครคmme luetteloa ja kรคyttรถรค fromkeys() menetelmรค, joka on kรคytettรคvissรค OrderedDictissรค saadaksesi yksilรถlliset elementit luettelosta.
Hyรถdyntรคmรครคn OrderedDict.fromkey() -menetelmรคllรค, sinun on tuotava OrderedDict kokoelmista alla olevan kuvan mukaisesti:
from collections import OrderedDict
Tรคssรค on esimerkki kaksoiskappaleiden poistamisesta kรคyttรคmรคllรค OrderedDict.fromkeys() menetelmรคllรค.
esimerkki
from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list))
lรคhtรถ:
['a', 'x', 'y', 'b', 'c']
alkaen Python 3.5+ alkaen, voimme kรคyttรครค tavallista dict.fromkeys() saadaksesi luettelosta erilliset elementit. The dict.fromkeys() menetelmรคt palauttavat avaimia, jotka ovat ainutlaatuisia ja auttavat pรครคsemรครคn eroon pรครคllekkรคisistรค arvoista.
Esimerkki, joka nรคyttรครค toiminnan dict.fromkeys() luettelossa yksilรถllisten kohteiden ilmoittamiseksi on seuraava:
esimerkki
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
lรคhtรถ:
['a', 'x', 'y', 'b', 'c']
Menetelmรค 4) For-silmukan kรคyttรถ
Kรคyttรคminen for-silmukka, kรคymme lรคpi kohteiden luettelon kopioiden poistamiseksi.
Alusta ensin taulukko tyhjรคksi eli myFinallist = [].Lisรครค for-silmukan sisรครคn tarkista, ovatko luettelon kohteet taulukossa myFinallist. Jos kohteita ei ole olemassa, lisรครค kohde taulukkoon myFinalist kรคyttรคmรคllรค append() menetelmรคllรค.
Joten aina kun pรครคllekkรคinen kohde havaitaan, se on jo myFallis-taulukossa eikรค sitรค lisรคtรค. Tarkastetaan nyt sama alla olevasta esimerkistรค:
esimerkki
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))
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Menetelmรค 5) Listan ymmรคrtรคminen
Listan ymmรคrtรคmiset ovat Python funktioita, joita kรคytetรครคn luomaan uusia sarjoja (kuten luetteloita, sanakirjoja jne.) kรคyttรคmรคllรค jo luotuja sekvenssejรค. Tรคmรค auttaa vรคhentรคmรครคn pidempiรค silmukoita ja helpottamaan koodin lukemista ja yllรคpitoa.
Kรคytรคmme luettelon ymmรคrtรคmistรค poistaaksemme kaksoiskappaleet annetusta luettelosta.
esimerkki
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)
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Menetelmรค 6) Numpy ainutlaatuinen() -menetelmรคn kรคyttรถ.
Menetelmรค unique() Numpy-moduulista voi auttaa meitรค poistamaan kaksoiskappaleet annetusta luettelosta.
Jotta voit tyรถskennellรค Numpy first import numpy -moduulin kanssa, sinun on noudatettava nรคitรค vaiheita:
Vaihe 1) Tuo Numpy-moduuli
import numpy as np
Vaihe 2) Kรคytรค luetteloasi kaksoiskappaleiden kanssa yksilรถllisen menetelmรคn sisรคllรค alla olevan kuvan mukaisesti. Tulos muunnetaan takaisin luettelomuotoon kรคyttรคmรคllรค tolist() menetelmรคllรค.
myFinalList = np.unique(my_list).tolist()
Vaihe 3) Tulosta lopuksi luettelo alla olevan kuvan mukaisesti:
print(myFinalList)
Lopullinen koodi tulosteineen on seuraava:
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Menetelmรค 7) Pandas-menetelmien kรคyttรถ
Pandas-moduulissa on a unique() menetelmรค, joka antaa meille ainutlaatuiset elementit annetusta luettelosta.
Jotta voit tyรถskennellรค Pandas-moduulin kanssa, sinun on noudatettava nรคitรค vaiheita:
Vaihe 1) Tuo Pandas-moduuli
import pandas as pd
Vaihe 2) Kรคytรค luetteloasi kaksoiskappaleiden sisรคllรค unique() alla olevan kuvan mukainen menetelmรค:
myFinalList = pd.unique(my_list).tolist()
Vaihe 3) Tulosta luettelo alla olevan kuvan mukaisesti:
print(myFinalList)
Lopullinen koodi tulosteineen on seuraava:
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Menetelmรค 8) enumerate()- ja listan ymmรคrtรคminen
Tรคssรค luettelon ymmรคrtรคmisen ja luetteloimisen yhdistelmรค, joka poistaa pรครคllekkรคiset elementit. Enumerate palauttaa objektin, jossa on laskuri jokaiselle luettelon elementille. Esimerkiksi (0,1), (1,2) jne. Tรคssรค ensimmรคinen arvo on indeksi ja toinen arvo on luettelon kohde. W
Jokainen elementti tarkistetaan, jos se on luettelossa, ja jos on, se poistetaan luettelosta.
esimerkki
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))
lรคhtรถ:
[1, 2, 3, 4, 5, 6]
Yhteenveto
- Voit poistaa kaksoiskappaleet luettelosta kรคyttรคmรคllรค sisรครคnrakennettua toimintoa
set(). Erikoisuutenaset()menetelmรค on, ettรค se palauttaa erilliset elementit. - Voit poistaa kaksoiskappaleet annetusta luettelosta tuomalla
OrderedDictfromkokoelmat. Se on saatavilla python 2.7:stรค alkaen.OrderedDictdicthuolehtii erillisten elementtien palauttamisesta sinulle siinรค jรคrjestyksessรค, jossa avain on lรคsnรค. - Voit kรคyttรครค for-silmukkaa, jonka avulla kรคymme lรคpi kohteiden luettelon kopioiden poistamiseksi.
- Menetelmรค
unique()Numpy-moduulista voi auttaa meitรค poistamaan kaksoiskappaleet annetusta luettelosta. - Pandas-moduulissa on a
unique()menetelmรค, joka antaa meille ainutlaatuiset elementit annetusta luettelosta. - Listan ymmรคrtรคmisen ja luetteloimisen yhdistelmรครค kรคytetรครคn poistamaan pรครคllekkรคiset elementit luettelosta. Enumerate palauttaa objektin, jossa on laskuri jokaiselle luettelon elementille.
