Lista to kontener zawierający różne obiekty Pythona, które mogą być liczbami całkowitymi, słowami, wartościami itp. Jest odpowiednikiem tablicy w innych językach programowania.
Więc tutaj przejdziemy przez różne sposoby, w jakie możemy usunąć duplikaty z podanej listy.
W tym samouczku dowiesz się:
- Usuń duplikaty z listy za pomocą Set
- Usuń duplikaty z listy za pomocą listy tymczasowej.
- Usuń duplikaty z listy za pomocą funkcji Dict
- Usuń duplikaty z listy za pomocą pętli for
- Usuń duplikaty z listy, korzystając z funkcji rozumienia listy
- Usuń duplikaty z listy za pomocą metody Numpy unique ().
- Usuń duplikaty z listy za pomocą metod Pandy
- Usuń duplikaty za pomocą funkcji enumerate () i list
Usuń duplikaty z listy za pomocą Set
Aby usunąć duplikaty z listy, możesz skorzystać z wbudowanej funkcji set (). Specjalnością metody set () jest zwracanie odrębnych elementów.Mamy listę: [1,1,2,3,2,2,4,5,6,2,1]. Lista ma wiele duplikatów, które musimy usunąć i odzyskać tylko odrębne elementy. Lista jest przekazywana funkcji wbudowanej set (). Później ostateczna lista jest wyświetlana za pomocą funkcji wbudowanej list (), jak pokazano w poniższym przykładzie.
Wynik, który otrzymujemy, to różne elementy, w których wszystkie zduplikowane elementy są eliminowane.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Wynik:
[1, 2, 3, 4, 5, 6]
Usuń duplikaty z listy za pomocą listy tymczasowej
Aby usunąć duplikaty z danej listy, możesz skorzystać z pustej listy tymczasowej. W tym celu najpierw będziesz musiał przejrzeć listę z duplikatami i dodać unikalne elementy do listy tymczasowej. Później lista tymczasowa jest przypisywana do listy głównej.
Oto działający przykład z wykorzystaniem listy tymczasowej.
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)
Wynik:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Usuń duplikaty z listy za pomocą funkcji Dict
Możemy usunąć duplikaty z podanej listy, importując OrderedDict z kolekcji. Jest dostępny od python2.7. OrderedDict dba o zwrócenie ci różnych elementów w kolejności, w jakiej obecny jest klucz.
Skorzystajmy z listy i użyjmy metody fromkeys () dostępnej w OrderedDict, aby uzyskać unikalne elementy z listy.
Aby skorzystać z metody OrderedDict.fromkey (), musisz zaimportować OrderedDict z kolekcji, jak pokazano poniżej:
from collections import OrderedDict
Oto przykład usuwania duplikatów za pomocą metody OrderedDict.fromkeys ().
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))
Wynik:
['a', 'x', 'y', 'b', 'c']
Począwszy od Pythona 3.5+, możemy użyć zwykłej metody dict.fromkeys (), aby uzyskać różne elementy z listy. Metody dict.fromkeys () zwracają klucze, które są unikalne i pomagają pozbyć się zduplikowanych wartości.
Przykład, który pokazuje działanie funkcji dict.fromkeys () na liście w celu nadania unikalnych elementów, jest następujący:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Wynik:
['a', 'x', 'y', 'b', 'c']
Usuń duplikaty z listy za pomocą pętli for
Używając pętli for, przejdziemy przez listę elementów, aby usunąć duplikaty.
Najpierw zainicjalizuj tablicę, aby była pusta, tj. MyFinallist = []. Wewnątrz pętli for dodaj sprawdzenie, czy elementy listy istnieją w tablicy myFinallist. Jeśli elementy nie istnieją, dodaj element do tablicy myFinallist za pomocą metody append () metoda.
Zatem ilekroć zduplikowany element zostanie napotkany, będzie on już obecny w tablicy myFinallist i nie zostanie wstawiony. Sprawdźmy teraz to samo w poniższym przykładzie:
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))
Wynik:
[1, 2, 3, 4, 5, 6]
Usuń duplikaty z listy, korzystając z funkcji rozumienia listy
Listy składane to funkcje Pythona używane do tworzenia nowych sekwencji (takich jak listy, słowniki itp.) Przy użyciu sekwencji, które zostały już utworzone. Pomaga to zredukować dłuższe pętle i sprawia, że kod jest łatwiejszy do odczytania i utrzymania.
Skorzystajmy z funkcji rozumienia list, aby usunąć duplikaty z podanej listy.
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)
Wynik:
[1, 2, 3, 4, 5, 6]
Usuń duplikaty z listy za pomocą metody Numpy unique ().
Metoda unique () z modułu Numpy może pomóc nam usunąć duplikat z podanej listy.
Aby pracować z Numpy najpierw zaimportuj moduł numpy, musisz wykonać następujące kroki:
Krok 1 ) Importuj moduł Numpy
import numpy as np
Krok 2) Użyj swojej listy z duplikatami w unikalnej metodzie, jak pokazano poniżej. Wynik jest konwertowany z powrotem do formatu listy przy użyciu metody tolist ().
myFinalList = np.unique(my_list).tolist()
Krok 3) Na koniec wydrukuj listę, jak pokazano poniżej:
print(myFinalList)
Ostateczny kod z danymi wyjściowymi jest następujący:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Wynik:
[1, 2, 3, 4, 5, 6]
Usuń duplikaty z listy za pomocą metod Pandy
Moduł Pandy posiada unikalną metodę (), która da nam unikalne elementy z podanej listy.
Aby pracować z modułem Pandas, musisz wykonać następujące kroki:
Krok 1) Importuj moduł Pandas
import pandas as pd
Krok 2) Użyj swojej listy z duplikatami w metodzie unique (), jak pokazano poniżej:
myFinalList = pd.unique(my_list).tolist()
Krok 3) Wydrukuj listę, jak pokazano poniżej:
print(myFinalList)
Ostateczny kod z danymi wyjściowymi jest następujący:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Wynik:
[1, 2, 3, 4, 5, 6]
Usuń duplikaty za pomocą funkcji enumerate () i list
Tutaj połączenie zrozumienia listy i wyliczenia w celu usunięcia zduplikowanych elementów. Enumerate zwraca obiekt z licznikiem do każdego elementu na liście. Na przykład (0,1), (1,2) itd. Tutaj pierwsza wartość to indeks, a druga wartość to pozycja listy. W
Każdy element jest sprawdzany, czy istnieje na liście, a jeśli tak, jest usuwany z listy.
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))
Wynik:
[1, 2, 3, 4, 5, 6]
Podsumowanie
- Aby usunąć duplikaty z listy, możesz skorzystać z wbudowanej funkcji set (). Specjalność metody set () polega na tym, że zwraca ona różne elementy.
- Możesz usunąć duplikaty z podanej listy, importując kolekcje OrderedDictfrom. Jest dostępny od python2.7. OrderedDictdict dba o zwrócenie ci różnych elementów w kolejności, w jakiej obecny jest klucz.
- Możesz skorzystać z pętli for, która przejdzie przez listę elementów, aby usunąć duplikaty.
- Metoda unique () z modułu Numpy może pomóc nam usunąć duplikat z podanej listy.
- Moduł Pandy posiada unikalną metodę (), która da nam unikalne elementy z podanej listy.
- Kombinacja rozumienia listy i wyliczania służy do usuwania zduplikowanych elementów z listy. Enumerate zwraca obiekt z licznikiem do każdego elementu na liście.