A lista egy olyan tároló, amely különböző Python objektumokat tartalmaz, amelyek lehetnek egész számok, szavak, értékek stb. Ez egyenértékű egy más programozási nyelv tömbjével.
Tehát itt különböző módokon megyünk keresztül, amelyekkel eltávolíthatjuk az ismétléseket egy adott listáról.
Ebben az oktatóanyagban megtudhatja:
- Távolítsa el a duplikátumokat a listából a Set használatával
- Az ideiglenes lista segítségével távolítsa el a duplikátumokat a listáról.
- Távolítsa el a duplikátumokat a listából a Dict használatával
- Távolítsa el a duplikátumokat a listából a for-loop használatával
- Távolítsa el a duplikátumokat a listáról a szövegértés segítségével
- Távolítsa el a duplikátumokat a listából a Numpy egyedi () módszerrel.
- Távolítsa el a duplikátumokat a listából Pandas módszerekkel
- Távolítsa el az ismétlődéseket a felsorolás () és a szövegértés használatával
Távolítsa el a duplikátumokat a listából a Set használatával
A másolatok listáról való eltávolításához használhatja a beépített funkciókészletet (). 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 lista sok másolatot tartalmaz, amelyeket el kell távolítanunk, és csak a különálló elemeket kapjuk vissza. A listát a set () beépített függvény adja meg. Később a végső lista megjelenik a list () beépített függvény segítségével, az alábbi példában látható módon.
A kapott kimenet különálló elemek, ahol az összes duplikátum elem megszűnik.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Kimenet:
[1, 2, 3, 4, 5, 6]
Az ideiglenes lista segítségével távolítsa el a duplikátumokat a listáról
Ha el akarja távolítani a duplikátumokat egy adott listáról, használjon egy üres ideiglenes listát. Ehhez először át kell tekintenie a duplikátumot tartalmazó listát, és hozzá kell adnia az egyedi elemeket az ideiglenes listához. Később az ideiglenes listát hozzárendelik a fő listához.
Itt van egy működő példa az ideiglenes lista használatával.
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)
Kimenet:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Távolítsa el a duplikátumokat a listából a Dict használatával
A duplikátumokat eltávolíthatjuk a megadott listáról a OrderedDict gyűjteményekből történő importálásával. A python2.7-től kezdődően érhető el. A OrderedDict gondoskodik a különálló elemek visszaküldéséről abban a sorrendben, amelyben a kulcs jelen van.
Használjuk ki a listát, és használjuk a OrderedDict-ben elérhető fromkeys () metódust az egyedi elemek lekéréséhez.
A OrderedDict.fromkey () metódus használatához importálnia kell a OrderedDict-ot a gyűjteményekből, az alábbiak szerint:
from collections import OrderedDict
Itt van egy példa a duplikátumok eltávolítására a OrderedDict.fromkeys () módszerrel.
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))
Kimenet:
['a', 'x', 'y', 'b', 'c']
A Python 3.5+ verziótól kezdve használhatjuk a dict.fromkeys () parancsot, hogy megszerezzük a különálló elemeket a listából. A dict.fromkeys () metódusok egyedi kulcsokat adnak vissza, amelyek segítenek megszabadulni az ismétlődő értékektől.
A következő példa a dict.fromkeys () működését mutatja be a listán az egyedi elemek megadásához:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Kimenet:
['a', 'x', 'y', 'b', 'c']
Távolítsa el a duplikátumokat a listából a for-loop használatával
A for-loop használatával végigmegyünk az elemek listáján, hogy eltávolítsuk az ismétléseket.
Először inicializálja a tömböt, azaz myFinallist = []. A for-loop belsejében ellenőrizze, hogy a lista elemei léteznek-e a myFinallist tömbben. Ha az elemek nem léteznek, vegye fel az elemet a myFinallist tömbbe az append () használatával. módszer.
Tehát, amikor az ismétlődő elem találkozik, már jelen lesz a myFinallist tömbben, és nem kerül beillesztésre. Ellenőrizzük most ugyanezt az alábbi példában:
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))
Kimenet:
[1, 2, 3, 4, 5, 6]
Távolítsa el a duplikátumokat a listáról a szövegértés segítségével
A listamegértések olyan Python-függvények, amelyeket új szekvenciák (például listák, szótárak stb.) Létrehozásához használnak a már létrehozott szekvenciák segítségével. Ez segít csökkenteni a hosszabb ciklusokat, és megkönnyíti a kód olvasását és karbantartását.
Használjuk a szövegértést, hogy eltávolítsuk a duplikátumokat a megadott listából.
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)
Kimenet:
[1, 2, 3, 4, 5, 6]
Távolítsa el a duplikátumokat a listából a Numpy egyedi () módszerrel.
A Numpy modul egyedi () metódusa segíthet eltávolítani a duplikátumot a megadott listából.
A Numpy first import numpy modul használatához kövesse az alábbi lépéseket:
1. lépés: Importálja a Numpy modult
import numpy as np
2. lépés: Használja a listát másolatokkal az egyedi módszeren belül az alábbiak szerint A kimenetet tolist () metódussal konvertálják vissza listás formátumba.
myFinalList = np.unique(my_list).tolist()
3. lépés: Végül nyomtassa ki a listát az alábbiak szerint:
print(myFinalList)
A végső kimeneti kód a következő:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Kimenet:
[1, 2, 3, 4, 5, 6]
Távolítsa el a duplikátumokat a listából Pandas módszerekkel
A Pandas modulnak van egy egyedi () metódusa, amely megadja nekünk a megadott lista egyedi elemeit.
A Pandas modul használatához kövesse az alábbi lépéseket:
1. lépés: Importálja a Pandas modult
import pandas as pd
2. lépés: Használja a listát másolatokkal az egyedi () módszer belsejében, az alábbiak szerint:
myFinalList = pd.unique(my_list).tolist()
3. lépés: Nyomtassa ki a listát az alábbiak szerint:
print(myFinalList)
A végső kimeneti kód a következő:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Kimenet:
[1, 2, 3, 4, 5, 6]
Távolítsa el az ismétlődéseket a felsorolás () és a szövegértés használatával
Itt a lista megértésének és felsorolásának kombinációja az ismétlődő elemek eltávolításához. Az Enumerate egy számlálóval ellátott objektumot ad vissza a lista minden eleméhez. Például (0,1), (1,2) stb. Itt az első érték az index, a második pedig a listaelem. W
Minden elemet ellenőriznek, hogy létezik-e a listában, és ha van, akkor eltávolítják a listáról.
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))
Kimenet:
[1, 2, 3, 4, 5, 6]
Összegzés
- A másolatok listáról való eltávolításához használhatja a beépített funkciókészletet (). A set () metódus különlegessége, hogy különálló elemeket ad vissza.
- A duplikátumokat eltávolíthatja a megadott listáról a OrderedDictfrom gyűjtemények importálásával. A python2.7-től kezdődően érhető el. A OrderedDictdict gondoskodik a különálló elemek visszaküldéséről abban a sorrendben, amelyben a kulcs jelen van.
- Használhat egy for-ciklust, amelyen keresztül haladunk az elemek listáján, hogy eltávolítsuk a másolatokat.
- A Numpy modul egyedi () metódusa segíthet eltávolítani a duplikátumot a megadott listából.
- A Pandas modulnak van egy egyedi () metódusa, amely megadja nekünk a megadott lista egyedi elemeit.
- A megértés és a felsorolás kombinációját használják az ismétlődő elemek eltávolításához a listából. Az Enumerate egy számlálóval ellátott objektumot ad vissza a lista minden eleméhez.