Python Count duplikat na liście

Python Count duplikat na liście
Posiadanie duplikatów w danych może powodować poważne problemy, szczególnie podczas pracy z dużymi ilością danych do analizy danych lub przetwarzania danych. Dlatego obowiązkiem programisty jest wykrywanie duplikatów i usuwanie ich z danych. Ten post skupi się na tym pierwszym i wyjaśni różne metody, za pomocą których użytkownik może łatwo wykryć i policzyć duplikat w liście Python.

Treść tego przewodnika podano poniżej:

  • Metoda 1: Korzystanie z listy do ustawiania konwersji
  • Metoda 2: Przy użyciu metody rozumienia listy i liczby ()
  • Metoda 3: Korzystanie z rozumienia listy z warunkami IF-in-in

Od razu zacznijmy od pierwszej metody!

Metoda 1: Korzystanie z listy do ustawiania konwersji

Lista w Pythonie może zawierać duplikaty, co oznacza, że ​​nie ma wyjątkowości jak ta znaleziona w zestawach Python. Dlatego łatwym sposobem wykrycia, czy istnieją jakieś duplikaty na liście Python, jest konwersja go na zestaw i porównanie rozmiarów obu.

Aby to zademonstrować, zacznij od utworzenia listy w Pythonie, używając następującego kodu:

Listvar = [123,46,11,78,334,46,98,11,90]

Następnie użyj metody set (), aby przekonwertować tę listę na zestaw i przechowywać ją w osobnej zmiennej:

setvar = set (ListVar)

Wydrukuj liczbę elementów obu za pomocą metody len ():

Drukuj („Elementy na liście:”, Len (ListVar))
drukuj („Elementy w zestawie:”, Len (SETVAR))

Po wykonaniu tego kodu daje następujące wyniki na terminalu:

Zgodnie z wyjściem liczba elementów na liście jest 9 I 7 dla zestawu. Oznacza to, że na liście jest w sumie dwa duplikaty. Ale zamiast ręcznego obliczania duplikatów, możesz również użyć następującej linii:

Drukuj („Liczba duplikatów na liście”, Len (ListVar) -len (SETVAR))

Kompletny fragment kodu z tą nową instrukcją drukowania to:

Listvar = [123,46,11,78,334,46,98,11,90]
setvar = set (ListVar)
Drukuj („Liczba duplikatów na liście”, Len (ListVar) -len (SETVAR))

Po wykonaniu tego kodu, daje następujący wynik na terminalu:

Jak widać na obrazie wyjściowym, na liście znajduje się dwa duplikaty.

Metoda 2: Przy użyciu metody rozumienia listy i liczby ()

Inną metodą drukowania duplikatów listy jest użycie metody rozumienia listy do pobrania każdej wartości z listy, a następnie za pomocą metody hrabiego () do sprawdzenia liczby na liście. Jeśli wynik metody Count () jest większy niż jeden, możesz dodać ten element do listy duplikatów.

Aby zademonstrować działanie tej metody, weź następujący kod:

Listvar = [123,46,11,78,334,46,98,11,90]
duplicatevar = []
dla x w ListVar:
Jeśli Listvar.Count (x)> 1:
Duplicatevar.Dodatek (x)
Drukuj („Duplikaty znalezione na liście to:”, Duplicatevar)

Po wykonywaniu tego kodu daje następujący wynik na terminalu:

Jak widać z wyjścia, wartości „46” i „11” były obecne dwa razy każde.

Metoda 3: Korzystanie z rozumienia listy z warunkami IF-in-in

Inną metodą znalezienia duplikatów na liście jest użycie rozumienia listy i zastosowanie warunku IF-in-in.

Weź następujący fragment kodu dla tej metody:

Listvar = [123,46,11,78,334,46,98,11,90]
unikalistvar = []
duplicatelistvar = []
dla x w ListVar:
Jeśli x nie w Uniiquelistvar:
Uniquelistvar.Dodatek (x)
w przeciwnym razie:
Duplicatelistvar.Dodatek (x)
Drukuj („Lista unikalnych elementów to:”, Uniquelistvar)
Drukuj („Duplikaty znalezione na liście to:”, DuplicateListvar)

W tym kodowym fragmencie:

  • Utworzone są dwie nowe listy, jedną do przechowywania każdej unikalnej wartości, a jedna do przechowywania każdej powtarzającej się/duplikat
  • Każdy element jest sprawdzany na wartościach przechowywanych wewnątrz unikalnej listy wartości, a jeśli już tam nie istnieje, to jest do niego dołączone.
  • Jeśli już tam istnieje, jest to dołączone do listy duplikatów.
  • Na koniec wydrukuj obie listy na terminalu za pomocą metody print ()

Po wykonywaniu tego kodu daje następujący wynik na terminalu:

Ze wyjścia można zauważyć, że wartości „46” i „11” były duplikatami, a zatem tylko jeden z ich instancji pozostaje na liście unikalnych wartości.

Wniosek

Aby znaleźć duplikaty na liście, użytkownik może wykorzystać różne podejścia, które obejmują przekształcenie listy na ciąg, używając rozumienia listy za pomocą metody Count (. Jednak najszybszą metodą usuwania duplikatów z listy jest konwersja listy na zestaw.