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(). Erikoisuutena set() menetelmรค on, ettรค se palauttaa erilliset elementit.
  • Voit poistaa kaksoiskappaleet annetusta luettelosta tuomalla OrderedDictfrom kokoelmat. Se on saatavilla python 2.7:stรค alkaen. OrderedDictdict huolehtii 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.

Tiivistรค tรคmรค viesti seuraavasti: