In diesem Artikel werden wir verschiedene Techniken und Strategien zum effizienten Extrahieren verschiedener Elemente aus einer bestimmten Liste untersuchen. Indem wir uns mit Methoden befassen, die von traditionellen Schleifen bis hin zu modernen pythonischen Ansätzen reichen Python.
Input : [ 1,2, 1, 1, 3, 4, 3, 3, 5 ] Output : [1, 2, 3, 4, 5] Explaination: The output only contains the unique element from the input list.>
Erhalten Sie eindeutige Werte aus einer Liste
Nachfolgend sind die Themen aufgeführt, die wir in diesem Artikel behandeln werden:
- Durchquerung der Liste
- Benutzen Satz Methode
- Benutzen Reduce()-Funktion
- Benutzen Operator.countOf() Methode
- Benutzen Pandas-Modul
- Benutzen numpy.unique
- Benutzen Sammlungen.Counter()
- Benutzen dict.fromkeys()
Erhalten Sie eindeutige Werte aus einer Liste durch Traversal of the List
Mithilfe von Traversal können wir jedes Element in der Liste durchlaufen und prüfen, ob das Element bereits in der Unique_list vorhanden ist. Wenn es dort noch nicht vorhanden ist, können wir es dann an die Unique_list anhängen. Dies geschieht mit einem for-Schleife und eine weitere if-Anweisung, die prüft, ob der Wert in der eindeutigen Liste enthalten ist oder nicht, was einer anderen for-Schleife entspricht.
Python3
# function to get unique values> def> unique(list1):> ># initialize a null list> >unique_list>=> []> ># traverse for all elements> >for> x>in> list1:> ># check if exists in unique_list or not> >if> x>not> in> unique_list:> >unique_list.append(x)> ># print list> >for> x>in> unique_list:> >print> x,> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
>
>Ausgabe
the unique values from 1st list is 10 20 30 40 the unique values from 2nd list is 1 2 3 4 5>
Zeitkomplexität: O(n*n)
Hilfsraum: An)
String in int in Java umwandeln
Erhalten Sie eindeutige Werte aus einer Liste Verwenden der Set-Methode
Benutzen Satz() Eigenschaft von Python können wir leicht nach eindeutigen Werten suchen. Fügen Sie die Werte der Liste in einen Satz ein. Set speichert einen Wert nur einmal, auch wenn er mehr als einmal eingefügt wird. Nachdem Sie alle Werte in den Satz mit list_set=set(list1) eingefügt haben, wandeln Sie diesen Satz in eine Liste um, um ihn auszudrucken.
Python3
def> unique(list1):> ># insert the list to the set> >list_set>=> set>(list1)> ># convert the set to the list> >unique_list>=> (>list>(list_set))> >for> x>in> unique_list:> >print> x,> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
partielles abgeleitetes Latex
>
>Ausgabe
the unique values from 1st list is 40 10 20 30 the unique values from 2nd list is 1 2 3 4 5>
Zeitkomplexität: O(n), wobei n die Länge einer Liste ist.
Hilfsraum: O(n), wobei n die Länge einer Liste ist.
Erhalten Sie eindeutige Werte aus einer Liste in Python mithilfe der Funktion Reduce()
Verwenden des Python-Imports reduzieren() von functools und iteriert über alle Elemente und prüft, ob das Element ein Duplikat oder ein eindeutiger Wert ist. Nachfolgend finden Sie die Umsetzung des oben genannten Ansatzes.
Python3
from> functools>import> reduce> def> unique(list1):> ># Print directly by using * symbol> >ans>=> reduce>(>lambda> re, x: re>+>[x]>if> x>not> in> re>else> re, list1, [])> >print>(ans)> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
>
>Ausgabe
the unique values from 1st list is [10, 20, 30, 40] the unique values from 2nd list is [1, 2, 3, 4, 5]>
Erhalten Sie eindeutige Werte aus einer Liste in Python mit der Methode Operator.countOf()
Die Funktion „unique“ initialisiert eine leere „unique_list“ und iteriert dann durch „list1“. Für jedes Element „x“ verwendet es „ op.countOf() „um zu prüfen, ob „x“ in „unique_list“ vorhanden ist. Wenn nicht gefunden (Anzahl ist 0), wird „x“ an „unique_list“ angehängt. Die endgültigen eindeutigen Werte werden mit a gedruckt Schleife . Der Treibercode demonstriert diesen Prozess für zwei Listen, „list1“ und „list2“, und zeigt die Extraktion unterschiedlicher Elemente aus jeder Liste unter Beibehaltung ihrer ursprünglichen Reihenfolge.
Python3
import> operator as op> # function to get unique values> def> unique(list1):> ># initialize a null list> >unique_list>=> []> ># traverse for all elements> >for> x>in> list1:> ># check if exists in unique_list or not> >if> op.countOf(unique_list, x)>=>=> 0>:> >unique_list.append(x)> ># print list> >for> x>in> unique_list:> >print>(x)> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
>
>Ausgabe
the unique values from 1st list is 10 20 30 40 the unique values from 2nd list is 1 2 3 4 5>
Zeitkomplexität:O(N)
Hilfsraum: O(N)
Erhalten Sie eindeutige Werte aus einer Liste in Python mithilfe des Pandas-Moduls
Die Funktion „einzigartig“ nutzt Pandas um eine Serie aus „list1“ zu erstellen, und verwendet dann „drop_duplicates()“, um Duplikate zu entfernen und eine Liste eindeutiger Werte zu erhalten. Anschließend wird die eindeutige Liste durchlaufen und jedes Element gedruckt. Der Treibercode demonstriert den Prozess für zwei Listen, „list1“ und „list2“, und stellt unterschiedliche Werte für jede Liste bereit.
Python3
import> pandas as pd> # function to get unique values> def> unique(list1):> >unique_list>=> pd.Series(list1).drop_duplicates().tolist()> >for> x>in> unique_list:> >print>(x)> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> #This code is contributed by Vinay Pinjala.> |
>
string.valueof Java
>
Ausgabe:
the unique values from 1st list is 10 20 30 40 the unique values from 2nd list is 1 2 3 4 5>
Zeitkomplexität:O(N)
Hilfsraum: O(N)
Ausführen von Skripten unter Linux
Erhalten Sie eindeutige Werte aus einer Liste Verwenden von numpy.unique
Verwendung des Python-Imports Numpy werden auch die eindeutigen Elemente im Array ermittelt. Konvertieren Sie im ersten Schritt die Liste in x=numpy.array(list) und dann verwenden numpy.unique(x) Funktion, um die eindeutigen Werte aus der Liste abzurufen. numpy.unique() gibt nur die eindeutigen Werte in der Liste zurück.
Python3
# using numpy.unique> import> numpy as np> def> unique(list1):> >x>=> np.array(list1)> >print>(np.unique(x))> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
>
>
Ausgabe:
the unique values from 1st list is [10 20 30 40] the unique values from 2nd list is [1 2 3 4 5]>
Zeitkomplexität: O(nlogn) aufgrund der Verwendung des Sortieralgorithmus, der von der Funktion numpy.unique() verwendet wird.
Nebenraum: O(n), weil die Funktion numpy.unique() eine Kopie des Eingabearrays erstellt und diese dann sortiert, bevor sie die eindeutigen Elemente zurückgibt.
Erhalten Sie eindeutige Werte aus einer Liste in Python mithilfe voncollections.Counter()
Verwenden von Python zum Importieren von Counter() aus Sammlungen Drucken Sie alle Schlüssel der Counter-Elemente oder wir drucken direkt mit dem * Symbol. Nachfolgend finden Sie die Umsetzung des oben genannten Ansatzes.
Python3
from> collections>import> Counter> # Function to get unique values> def> unique(list1):> ># Print directly by using * symbol> >print>(>*>Counter(list1))> # driver code> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> print>(>'the unique values from 1st list is'>)> unique(list1)> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> print>(>'
the unique values from 2nd list is'>)> unique(list2)> |
>
>Ausgabe
the unique values from 1st list is 10 20 30 40 the unique values from 2nd list is 1 2 3 4 5>
Zeitkomplexität: O(n) , wobei n die Anzahl der Elemente in der Eingabeliste ist.
Hilfsraum: O(n)
Mit dict.fromkeys() eindeutige Werte aus einer Liste abrufen
Verwendung der fromkeys() Mit der Methode der Wörterbuchdatenstruktur können wir die eindeutigen Elemente abrufen. Zuerst müssen wir eine Liste definieren, die aus doppelten Elementen besteht. Dann müssen wir eine Variable verwenden, in der wir das Ergebnis speichern, nachdem wir die Methode fromkeys() verwendet haben. Das müssen wir Konvertieren Sie dieses Ergebnis in eine Liste, da die fromkeys()-Methode Teil des Wörterbuchs ist und daher standardmäßig ein Wörterbuch mit allen eindeutigen Schlüsseln und None als Werten zurückgibt.
Python3
Sree Ramanujan
# defining a list which consists duplicate values> list1>=> [>10>,>20>,>10>,>30>,>40>,>40>]> list2>=> [>1>,>2>,>1>,>1>,>3>,>4>,>3>,>3>,>5>]> # storing the result of the fromkeys()> # operation and converting it into list> unique_list_1>=> list>(>dict>.fromkeys(list1))> unique_list_2>=> list>(>dict>.fromkeys(list2))> # Printing the final result> print>(unique_list_1,unique_list_2,sep>=>'
'>)> |
>
>Ausgabe
[10, 20, 30, 40] [1, 2, 3, 4, 5]>
Zeitkomplexität – O(n)
Raumkomplexität – O(n)