Beste Antwort
Es gibt einige signifikante Unterschiede:
- Indizierung – Eine Liste kann durch eine Ganzzahl indiziert werden (beginnend mit 0). Ein Satz kann nicht indiziert werden (es gibt kein Konzept für das erste Element in einem Satz, außer wenn es iteriert wird).
- Schneiden – Eine Liste kann geschnitten werden (unter Verwendung der [a: b] -Notation). Ein Python-Set kann nicht in Scheiben geschnitten werden.
- Inhalt – Eine Liste kann eine beliebige Mischung von Datenelementen enthalten. Ein Satz kann nur die Datenelemente enthalten, die hashbar sind (dh die Funktion hash () gibt einen Wert zurück).
- Duplikate – Eine Liste kann doppelte Datenelemente enthalten – es gibt keine Begrenzung für die Anzahl der Elemente von gleicher Wert erscheint in der Liste; Ein Satz darf keine Duplikate enthalten.
- Reihenfolge – Listen werden sortiert, dh sie behalten die vom Programm anhand der Liste festgelegte Reihenfolge bei. Sätze werden nicht geordnet – es gibt kein Konzept für den ersten, zweiten usw. – und es gibt keine Möglichkeit, dass ein Programmierer die Reihenfolge steuern kann, in der ein Satz iteriert, angezeigt oder auf andere Weise präsentiert wird. (Beachten Sie, dass die Reihenfolge der Sortierung nicht mit der Sortierung identisch ist, aber auch die Mengen können nicht sortiert werden.)
- Mitgliedschaft – Ein Mitgliedschaftstest (der Operator in) in einer Liste ist eine lineare Suche von Anfang bis Ende letzte ; Ein Mitgliedschaftstest für eine Gruppe basiert zunächst auf dem Hash () des gesuchten Werts. Das Durchsuchen eines Satzes ist im Vergleich zu einer Liste ähnlicher Größe erheblich effizienter.
- Andere Funktionen – Listen weisen kein Verhalten zum Erstellen neuer Listen auf, das auf Überlappungen oder Unterschieden zwischen Listen basiert. Sets hingegen verfügen über eine Vielzahl von Operationen (und Methoden) zum Identifizieren der Unterschiede und Überalpen zwischen Sets.
Antwort
Mengen sind Datenstrukturen, ähnlich wie Listen oder Wörterbücher. Sie werden mit geschweiften Klammern oder mit der Funktion set erstellt. Sie teilen einige Funktionen mit Listen, z. B. die Verwendung von in , um zu überprüfen, ob sie ein bestimmtes Element enthalten.
num\_set = {1, 2,3,4,5}
word\_set = set ([„Spam“, „Eier“, „Wurst“])
print (3 in num\_set)
print („Spam“ nicht in word\_set)
>> Richtig
>>> Falsch
Hinweis: Um eine leere Menge zu erstellen, müssen Sie set () verwenden, as {} Erstellen Sie ein leeres Wörterbuch.
Sätze unterscheiden sich in mehrfacher Hinsicht von Listen, teilen jedoch mehrere Listenoperationen wie len . Sie sind ungeordnet, was bedeutet, dass sie nicht indiziert werden können. Sie können keine doppelten Elemente enthalten. Aufgrund der Art und Weise, wie sie „gespeichert“ werden, ist es schneller , um zu überprüfen, ob ein Element Teil eines Satzes und nicht Teil einer Liste ist. Anstatt append
Mengen können mit mathematischen Operationen kombiniert werden. Die union -Operator | kombiniert zwei Sätze zu einem neuen, der Elemente in beiden enthält. Der Schnittpunkt Operator & ruft nur Elemente in beiden ab. Die Differenz operator – ruft Elemente ein der erste Satz aber nicht im zweiten. Der Operator symmetrische Differenz ^ ruft Elemente in beiden Sätzen ab, jedoch nicht in beiden. P. >
Verwendung eines Wörterbuchs: – Wenn Sie eine logische Zuordnung zwischen einem Schlüssel: Wert benötigen Paar. – Wenn Sie schnell nach Ihren Daten suchen müssen, basierend auf einem benutzerdefinierten Schlüssel. – Wenn Ihre Daten ständig geändert werden. Denken Sie daran, Wörterbücher sind veränderlich. Wann die anderen Typen verwendet werden sollen: – Verwenden Sie Listen , wenn Sie über eine Sammlung von Daten verfügen, die benötigt keinen wahlfreien Zugriff. Versuchen Sie, Listen auszuwählen, wenn Sie eine einfache, iterierbare Sammlung benötigen, die häufig geändert wird. – Verwenden Sie einen -Satz , wenn Sie eine Eindeutigkeit für die Elemente benötigen. – Verwenden Sie Tupel , wenn sich Ihre Daten nicht ändern können.
Ich hoffe, dies wird Ihnen helfen.
Happy Coding.
Eine letzte Sache, wenn dir das gefällt, dann stimme zu, es wird mich motivieren.