Python usuwa duplikaty z listy

Spisie treści:

Anonim

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.