Python Set ist eine ungeordnete Sammlung von Datentypen, die iterierbar und veränderbar ist und keine doppelten Elemente enthält. Die Reihenfolge der Elemente in einer Menge ist nicht definiert, obwohl sie aus verschiedenen Elementen bestehen kann. Der Hauptvorteil der Verwendung einer Menge im Gegensatz zu einer Liste besteht darin, dass sie über eine hochoptimierte Methode zur Überprüfung verfügt, ob ein bestimmtes Element in der Menge enthalten ist. Hier sehen wir, was eine Menge in Python ist, und sehen uns auch verschiedene Beispiele für Mengen in Python an.
Erstellen eines Sets in Python
Python-Sets können mithilfe der integrierten Funktion erstellt werden Satz() Funktion mit einem iterierbaren Objekt oder einer Sequenz, indem Sie die Sequenz in geschweifte Klammern setzen, getrennt durch ein „Komma“.
Python3Notiz: Ein Python-Set kann keine veränderlichen Elemente wie eine Liste oder ein Wörterbuch enthalten, da es unveränderlich ist.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))>
Ausgabe
Javac wird nicht erkannt
Initial blank Set: set() Set with the use of String: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of an Object: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of List: {'For', 'Geeks'} Set with the use of Tuple: {'for', 'Geeks'} Set with the use of Dictionary: {'for', 'Geeks'}>
Zeitkomplexität: O(n), wobei n die Länge der Eingabezeichenfolge, Liste, des Tupels oder Wörterbuchs ist.
Nebenraum: O(n), wobei n die Länge der Eingabezeichenfolge, Liste, des Tupels oder Wörterbuchs ist.
Ein Python-Set enthält nur eindeutige Elemente, aber zum Zeitpunkt der Set-Erstellung können auch mehrere doppelte Werte übergeben werden. Die Reihenfolge der Elemente in einem Python-Set ist undefiniert und kann nicht geändert werden. Die Art der Elemente in einer Menge muss nicht gleich sein, es können auch verschiedene gemischte Datentypwerte an die Menge übergeben werden.
Hallo Welt mit JavaPython3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set with the use of Numbers: ') print(set1) # Creating a Set with a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print('
Set with the use of Mixed Values') print(set1)>
Ausgabe
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}>
Erstellen eines Python-Sets mit einer anderen Methode
In diesem Beispiel wird eine Menge mithilfe der Notation in geschweiften Klammern {} erstellt, die die Zahlen 1,2 und 3 enthält. Die Datenstruktur von Mengen in Python oder ungeordnete Mengen in Python sind ungeordnete Sammlungen eindeutiger Elemente, wodurch sie für Aufgaben geeignet sind, die Eindeutigkeit und Eindeutigkeit erfordern Set-Operationen in Python.
Python3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>
Ausgabe
{1, 2, 3}>
Elemente zu einer Menge in Python hinzufügen
Im Folgenden finden Sie einige Ansätze, mit denen wir in Python Elemente zu einer Menge hinzufügen können:
- Verwenden der Methode add()
- Verwenden der update()-Methode
Verwenden der Methode add()
Dem können Elemente hinzugefügt werdenSetzt in Pythondurch Verwendung des integrierten hinzufügen() Funktion. Mit der Methode add() kann jeweils nur ein Element zur Menge hinzugefügt werden. Mit der Methode add() werden Schleifen verwendet, um mehrere Elemente gleichzeitig hinzuzufügen.
Python3Notiz: Listen können nicht als Elemente zu einer Menge hinzugefügt werden, da Listen nicht hashbar sind, wohingegen Tupel hinzugefügt werden können, weil Tupel unveränderlich und daher hashbar sind.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)>
Ausgabe
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}>
Verwenden der update()-Methode
Für das Hinzufügen von zwei oder mehr Elementen wird die Methode Update() verwendet. Die update()-Methode akzeptiert Listen, Strings, Tupel sowie andere Python-Hash-Sets als Argumente. In all diesen Fällen werden doppelte Elemente vermieden.
Python3 # Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)>
Ausgabe
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>
Auf einen Satz in Python zugreifen
Auf Set-Elemente kann nicht über einen Index zugegriffen werden, da Sets ungeordnet sind und die Elemente keinen Index haben. Sie können die Python-Hash-Set-Elemente jedoch mit einer for-Schleife durchlaufen oder mit dem Schlüsselwort in fragen, ob ein bestimmter Wert in einem Set vorhanden ist.
Python3 # Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)>
Ausgabe
Volladdierer
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>
Elemente aus der Menge in Python entfernen
Im Folgenden finden Sie einige Möglichkeiten, wie wir in Python Elemente aus der Menge entfernen können:
- Verwenden der Methode „remove()“ oder der Methode „discard()“.
- Verwendung der Methode pop()
- Verwendung der Methode „clear()“.
Verwenden der Methode „remove()“ oder der Methode „discard()“.
Elemente können aus dem entfernt werdenSetzt in PythonDurch die Verwendung der integrierten Funktion „remove()“ tritt jedoch ein KeyError auf, wenn das Element im Hashset Python nicht vorhanden ist. Um Elemente aus einer Menge ohne KeyError zu entfernen, verwenden Sie Discard(). Wenn das Element nicht in der Menge vorhanden ist, bleibt es unverändert.
Python3 # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing elements from Set using Remove() method set1.remove(5) set1.remove(6) print('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)>
Ausgabe
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}>
Verwendung der Methode pop()
Die Funktion Pop() kann auch zum Entfernen und Zurückgeben eines Elements aus der Menge verwendet werden, sie entfernt jedoch nur das letzte Element der Menge.
Python3Notiz: Wenn die Menge ungeordnet ist, gibt es keine Möglichkeit, mit der Funktion pop() zu bestimmen, welches Element entfernt wird.
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing element from the # Set using the pop() method set1.pop() print('
Set after popping an element: ') print(set1)>
Ausgabe
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}>
Verwendung der Methode „clear()“.
Um alle Elemente aus der Menge zu entfernen, wird die Funktion clear() verwendet.
Python3 #Creating a set set1 = set([1,2,3,4,5]) print('
Initial set: ') print(set1) # Removing all the elements from # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)>
Ausgabe
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>
GefrorenSetzt in Python
Gefrorene Sets In Python handelt es sich um unveränderliche Objekte, die nur Methoden und Operatoren unterstützen, die ein Ergebnis erzeugen, ohne die eingefrorene Menge oder Mengen zu beeinflussen, auf die sie angewendet werden. Während Elemente einer Menge jederzeit geändert werden können, bleiben Elemente der eingefrorenen Menge nach der Erstellung gleich.
etwas schnelles sortieren
Wenn keine Parameter übergeben werden, wird ein leeres Frozenset zurückgegeben.
Python3 # Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print('The FrozenSet is: ') print(Fset1) # To print Empty Frozen Set # No parameter is passed print('
Empty FrozenSet: ') print(frozenset())>
Ausgabe
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>
Typumwandlung von Objekten in Mengen
In diesem Beispiel, Listen , Streicher und Wörterbücher werden mithilfe von in Mengen umgewandelt Satz() Konstruktor, der Duplikate in Listen entfernt und eindeutige Elemente in Zeichenfolgen und Wörterbuchschlüsseln extrahiert.
Python3 # Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print('my_list as a set: ', my_set) # Typecasting string into set my_str = 'techcodeview.com' my_set1 = set(my_str) print('my_str as a set: ', my_set1) # Typecasting dictionary into set my_dict = {1: 'One', 2: 'Two', 3: 'Three'} my_set2 = set(my_dict) print('my_dict as a set: ', my_set2)>
Ausgabe
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}>
Beispiel: Alle Funktionen implementieren
In diesem Beispiel demonstriert eine Reihe von Funktionen allgemeine Vorgängesetzt in Python. Dazu gehören das Erstellen einer Menge, das Hinzufügen und Entfernen von Elementen, das Löschen der Menge sowie die Durchführung von Mengenvereinigungs-, Schnittmengen-, Differenz-, symmetrischen Differenz-, Teilmengen- und Obermengenoperationen.
Python3 def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()>
Ausgabe
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True>
Vorteile von Set in Python
- Einzigartige Elemente : Sätze können nur eindeutige Elemente enthalten, daher können sie nützlich sein, um Duplikate aus einer Datensammlung zu entfernen.
- Schnelle Mitgliedschaftsprüfung : Sätze sind für schnelle Mitgliedschaftstests optimiert und können daher hilfreich sein, um festzustellen, ob sich ein Wert in einer Sammlung befindet oder nicht.
- Mathematische Mengenoperationen: Mengen unterstützen mathematische Mengenoperationen wie Vereinigung, Schnittmenge und Differenz, die für die Arbeit mit Datensätzen nützlich sein können.
- Veränderlich : Sets sind veränderbar, was bedeutet, dass Sie Elemente zu einem Set hinzufügen oder daraus entfernen können, nachdem es erstellt wurde.
Nachteile vonSetzt in Python
- Ungeordnet : Sätze sind ungeordnet, was bedeutet, dass Sie sich nicht auf die Reihenfolge der Daten im Satz verlassen können. Dies kann den Zugriff auf oder die Verarbeitung von Daten in einer bestimmten Reihenfolge erschweren.
- Eingeschränkte Funktionalität: Sets haben im Vergleich zu Listen eine eingeschränkte Funktionalität, da sie Methoden wie append() oder pop() nicht unterstützen. Dies kann es schwieriger machen, in einem Satz gespeicherte Daten zu ändern oder zu manipulieren.
- Speichernutzung: Sets können mehr Speicher beanspruchen als Listen, insbesondere bei kleinen Datensätzen. Dies liegt daran, dass jedes Element in einer Menge zusätzlichen Speicher benötigt, um einen Hash-Wert zu speichern.
- Weniger häufig verwendet: Sets werden in Python seltener verwendet als Listen und Wörterbücher, was bedeutet, dass möglicherweise weniger Ressourcen oder Bibliotheken für die Arbeit mit ihnen verfügbar sind. Dies kann es schwieriger machen, Lösungen für Probleme zu finden oder Hilfe beim Debuggen zu erhalten.
Insgesamt können Mengen eine nützliche Datenstruktur in Python sein, insbesondere zum Entfernen von Duplikaten oder zum schnellen Testen der Mitgliedschaft. Aufgrund ihrer mangelnden Ordnung und eingeschränkten Funktionalität können sie jedoch auch weniger vielseitig als Listen oder Wörterbücher sein. Daher ist es wichtig, die Vor- und Nachteile der Verwendung von Mengen sorgfältig abzuwägen, wenn Sie entscheiden, welche Datenstruktur Sie in Ihrem Python-Programm verwenden möchten.
Methoden in Python festlegen
Funktion | Beschreibung |
---|---|
hinzufügen() | Fügt ein Element zu einer Menge hinzu |
entfernen() | Entfernt ein Element aus einer Menge. Wenn das Element nicht in der Menge vorhanden ist, wird ein KeyError ausgelöst |
klar() | Entfernt alle Elemente aus einer Menge |
Kopieren() | Gibt eine flache Kopie einer Menge zurück |
Pop() | Entfernt ein beliebiges Mengenelement und gibt es zurück. KeyError auslösen, wenn die Menge leer ist |
aktualisieren() | Aktualisiert eine Menge mit der Vereinigung von sich selbst und anderen |
Union() | Gibt die Vereinigung von Mengen in einer neuen Menge zurück |
Unterschied() | Gibt die Differenz von zwei oder mehr Mengen als neue Menge zurück |
Differenz_Update() | Entfernt alle Elemente einer anderen Menge aus dieser Menge |
verwerfen() | Entfernt ein Element aus der Menge, wenn es ein Mitglied ist. (Machen Sie nichts, wenn das Element nicht in der Menge enthalten ist.) |
Überschneidung() | Gibt den Schnittpunkt zweier Mengen als neue Menge zurück |
Kreuzung_Update() | Aktualisiert die Menge mit der Schnittmenge von sich selbst und einer anderen |
isdisjoint() | Gibt True zurück, wenn zwei Mengen einen Nullschnittpunkt haben |
issubset() | Gibt True zurück, wenn eine andere Menge diese Menge enthält |
Obermenge() | Gibt True zurück, wenn dieser Satz einen anderen Satz enthält |
symmetric_difference() | Gibt die symmetrische Differenz zweier Mengen als neue Menge zurück |
symmetric_difference_update() | Aktualisiert eine Menge mit der symmetrischen Differenz zwischen sich selbst und einer anderen |
Aktuelle Artikel zu Python-Sets
Programme festlegen
- Programm zum Akzeptieren von Zeichenfolgen, die alle Vokale enthalten
- Python-Programm zum Finden gemeinsamer Elemente in drei Listen mithilfe von Mengen
- Finden Sie fehlende und zusätzliche Werte in zwei Listen
- Komplette Saitenpaare in zwei Sätzen
- Überprüfen Sie, ob eine bestimmte Zeichenfolge ein Heterogramm ist oder nicht
- Maximum und Minimum in einem Satz
- Elemente aus Set entfernen
- Python Set-Differenz, um verlorene Elemente aus einem duplizierten Array zu finden
- Minimale Anzahl von Teilmengen mit unterschiedlichen Elementen mithilfe von Counter
- Überprüfen Sie, ob zwei Listen mindestens ein gemeinsames Element haben
- Programm zum Zählen der Vokalanzahl mithilfe von Sätzen in einer bestimmten Zeichenfolge
- Unterschied zwischen zwei Listen
- Python prüft, ob die Zeichenfolge ein Panagram ist
- Python-Mengenoperationen (Vereinigung, Schnittmenge, Differenz und symmetrische Differenz)
- Verkettete Zeichenfolge mit ungewöhnlichen Zeichen in Python
- Python-Wörterbuch, Satz und Zähler, um zu prüfen, ob Frequenzen gleich werden können
- Verwendung von Set() bei der Python-Pangram-Prüfung
- Legen Sie update() in Python fest, um eine Vereinigung von n Arrays durchzuführen
Nützliche Links
- Ausgabe von Python-Programmen – Sets
- Aktuelle Artikel zu Python-Sets
- Multiple-Choice-Fragen – Python
- Alle Artikel in der Kategorie Python