Hogyan távolítsuk el az ismétlődéseket a listából Python
Python duplikátumok eltávolítása a listából
A lista egy olyan tároló, amely különböző Python objektumok, amelyek lehetnek egész számok, szavak, értékek stb. Ez a tömb megfelelője más programozási nyelvekben.
Tehát itt különböző módokon fogunk eltávolítani egy adott listából az ismétlődéseket Python.
1. módszer) Távolítsa el az ismétlődéseket a listáról a Set segítségével
A másolatok listáról való eltávolításához használhatja a beépített funkciót set()
. A set() metódus különlegessége, hogy különálló elemeket ad vissza.
Van egy listánk: [1,1,2,3,2,2,4,5,6,2,1]. A listának számos ismétlődése van, amelyeket el kell távolítanunk, és csak a különálló elemeket kell visszakapnunk. A listát a set()
beépített funkció. Later a végső lista a gombbal jelenik meg list()
beépített funkció, ahogy az alábbi példában is látható.
A kapott kimenet különálló elemekből áll, ahol az összes ismétlődő elem kikerül.
Példa
my_list = [1,1,2,3,2,2,4,5,6,2,1] my_final_list = set(my_list) print(list(my_final_list))
output:
[1, 2, 3, 4, 5, 6]
2. módszer) Az ideiglenes lista használata
Adott másolatok eltávolítása list
, használhat egy üres ideiglenes listát. Ehhez először át kell tekintenie a duplikált listát, és hozzá kell adnia az egyedi elemeket az ideiglenes listához. Later az ideiglenes lista a fő listához van hozzárendelve.
Példa
Íme egy működő példa az ideiglenes lista használatára.
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)
output:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
3. módszer) Dict
A megadott listáról importálással tudjuk eltávolítani a duplikációkat OrderedDict
gyűjteményekből. A python2.7-től kezdve érhető el. Az OrderedDict gondoskodik arról, hogy a különböző elemeket olyan sorrendben küldje vissza, amelyben a kulcs jelen van.
Használjunk listát és használjunk fromkeys()
Az OrderedDictben elérhető módszer az egyedi elemek lekéréséhez a listából.
Kihasználni OrderedDict.fromkey()
módszerrel, importálnia kell az OrderedDict gyűjteményekből, az alábbiak szerint:
from collections import OrderedDict
Íme egy példa az ismétlődések eltávolítására OrderedDict.fromkeys()
módszer.
Példa
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))
output:
['a', 'x', 'y', 'b', 'c']
Tól től Python 3.5+-tól használhatjuk a normált dict.fromkeys()
hogy megkapja a listából a különböző elemeket. A dict.fromkeys()
A metódusok egyedi kulcsokat adnak vissza, és segítenek megszabadulni az ismétlődő értékektől.
Egy példa, amely bemutatja a működését dict.fromkeys()
az egyedi tételeket tartalmazó listán a következő:
Példa
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
output:
['a', 'x', 'y', 'b', 'c']
4. módszer) For-loop használata
<p></p> for-hurok, végigjárjuk az elemek listáját a duplikációk eltávolításához.
Először inicializálja a tömböt üresbe, azaz myFinallist = []
.A for cikluson belül ellenőrizze, hogy a lista elemei léteznek-e a tömbben myFinallist
. Ha az elemek nem léteznek, adja hozzá az elemet a myFinalist tömbhöz a gombbal append()
módszer.
Tehát amikor a duplikált elemet találjuk, az már jelen lesz a myFinalist tömbben, és nem kerül beillesztésre. Most nézzük meg ugyanezt az alábbi példában:
Példa
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))
output:
[1, 2, 3, 4, 5, 6]
5. módszer) A listaértés használata
A listaértések azok Python olyan függvények, amelyek új sorozatok (például listák, szótárak stb.) létrehozására szolgálnak már létrehozott sorozatok felhasználásával. Ez segít csökkenteni a hosszabb ciklusokat, és könnyebben olvashatóvá és karbantarthatóvá teszi a kódot.
Használjuk a listaértést, hogy eltávolítsuk a duplikációkat a megadott listából.
Példa
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)
output:
[1, 2, 3, 4, 5, 6]
6. módszer: Numpy egyedi() metódus használata.
A módszer unique()
a Numpy modulból segíthet eltávolítani a duplikációt a megadott listáról.
A Numpy first import numpy modullal való együttműködéshez kövesse az alábbi lépéseket:
1 lépés) Importálja a Numpy modult
import numpy as np
Step 2) Használja a listát a duplikátumokkal az egyedi módszeren belül, az alábbiak szerint. A kimenet visszakonvertálásra kerül lista formátumba a segítségével tolist()
módszer.
myFinalList = np.unique(my_list).tolist()
Step 3) Végül nyomtassa ki a listát az alábbiak szerint:
print(myFinalList)
A végső kód a kimenettel a következő:
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
output:
[1, 2, 3, 4, 5, 6]
7. módszer) Panda módszerek használata
A Pandas modulnak van egy unique()
módszerrel, amely megadja nekünk az egyedi elemeket a megadott listából.
A Pandas modullal való munkához kövesse az alábbi lépéseket:
Step 1) Importálja a Pandas modult
import pandas as pd
Step 2) Használja a listát a duplikátumokkal unique()
az alábbiak szerint:
myFinalList = pd.unique(my_list).tolist()
Step 3) Nyomtassa ki a listát az alábbiak szerint:
print(myFinalList)
A végső kód a kimenettel a következő:
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
output:
[1, 2, 3, 4, 5, 6]
8. módszer) Az enumerate() és a listaértés használata
Itt a listaértés és a felsorolás kombinációja az ismétlődő elemek eltávolításához. Az Enumerate egy objektumot ad vissza számlálóval a lista minden eleméhez. Például (0,1), (1,2) stb. Itt az első érték az index, a második érték a listaelem. W
A rendszer minden elemet ellenőrzi, hogy létezik-e a listában, és ha igen, akkor eltávolítja a listából.
Példa
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))
output:
[1, 2, 3, 4, 5, 6]
Összegzésként
- A másolatok listáról való eltávolításához használhatja a beépített funkciót
set()
. A specialitás aset()
módszer az, hogy különböző elemeket ad vissza. - Az ismétlődéseket importálással távolíthatja el a megadott listáról
OrderedDictfrom
gyűjtemények. A python2.7-től kezdve érhető el.OrderedDictdict
gondoskodik arról, hogy a különböző elemeket olyan sorrendben küldje vissza, amelyben a kulcs jelen van. - Használhat egy for-loopot, amellyel végighaladunk az elemek listáján a duplikációk eltávolításához.
- A módszer
unique()
a Numpy modulból segíthet eltávolítani a duplikációt a megadott listáról. - A Pandas modulnak van egy
unique()
módszerrel, amely megadja nekünk az egyedi elemeket a megadott listából. - A listaértés és a felsorolás kombinációja az ismétlődő elemek eltávolítására szolgál a listából. Az Enumerate egy objektumot ad vissza számlálóval a lista minden eleméhez.