Mehrere

In der Mathematik gibt es ein Konzept wie viele (oder mehrere Theorie). Vielleicht haben Sie sie sogar in Mathe studiert. Vielleicht kennen Sie sogar die Diagramme von Wien.
In der Praxis sind viele einfach als eindeutig definierter Satz von einzelnen Objekten, die Elemente oder Elemente genannt werden, zu erkennen.
Die Einrichtung von Objekten auf vielfältige Weise kann bei der Programmierung nützlich sein, und Python stellt uns einen eingebauten Typ dar. set

Mehrfache (Typen) set( Anders als andere Arten von Einrichtungen, einzigartige Operationen, die mit ihnen durchgeführt werden können.

Strukturierter Typ set Python hat folgende Eigenschaften:
  • Die Elemente einer Vielzahl sind falsch (was bedeutet, dass zwei Multiplikationen den gleichen Elementen entsprechen). Mehrere Komponenten werden nicht nacheinander gespeichert, sondern für bestimmte Algorithmen, die eine schnelle Identifizierung der Komponente ' s-Mitgliedschaft (ohne alle Komponenten) ermöglichen;
  • Viele Elemente sind einzigartig. Wiederholelemente sind nicht zulässig;
  • Es können mehrere Variablen (z.B. Multiplikatoren) hinzugefügt werden, die Elemente innerhalb einer Vielzahl müssen jedoch nicht ersetzbar sein (Anzahl, Zeilen, Kunst). Sie können kein Element von vielen Listen oder vielen anderen machen;

Mehrere Schöpfung
1 Verfahren

Listen Sie einfach in den Klammern die Elemente, die zahlreich sind.

x = {"Schule, "Lehrer", "Klasse, Student}

2 Modus
Verwenden Sie die eingebaute Funktion. set()
x = set(s) # leer
list_name = ["Andry, "Bob", "Caroline".
y = set(list_name) # Sie können viele erstellen
# von jedem verlorenen Objekt
♪
k = set( "Andry", "Bob", "Carolin") # 'Bob', 'Carolin', 'Andry '
s = "String s"
m = set(s) # 'i', 't', 'g', 'r', 'n', 's', 's', '
♪ Achtung!# Die Reihenfolge der Elemente kann beliebig sein,
# Elemente, die nicht wiederholt werden
n = {42, 'foo', 3.14159, Keine, (1, 2, 3)} # Elemente im Set
# Könnte anders sein
Mehrfachentnahme
Mehrere Elemente werden willkürlich hergestellt, nicht notwendigerweise, in denen sie hinzugefügt werden.
z = eingestellt.
print(z) # {'Bob', 'Caroline', 'Andry'}
Print(*z) Bob Andry Caroline

Mehrere Arbeitsmethoden


Anzahl der Elemente in mehreren Gruppen
Methode len() gibt die Anzahl der Elemente zu vielen zurück.
k = {42, 'foo', 3.14159, Keine, (1, 2, 3)}
Print(len(k) # 5

Bestimmen, ob ein Element in einer Vielzahl vorhanden ist (Teilnehmer)in)
k = {42, 'foo', 3.14159, Keine, (1, 2, 3)}
Print(42 in k) # True
Druck(2 in k) # Falsch

Obwohl die in einer Vielzahl enthaltenen Elemente nicht ersetzbar sein müssen, können viele selbst verändert werden.

Anlage des Multiplikationselements
x.add(<elem>)
zu vielx Zusatz <elem>die das einzige verzierte Objekt sein sollte.

Entfernen von Element aus der Vielzahl
(1) x.remove(<elem>)
entfernt <elem> mehrere xPython verursacht eine Ausnahme, wenn <elem>Nein. x

(2) x.discard(<elem>)
Dasselbe muss entfernt werden, aber es darf keine Ausnahme sein, wenn kein Multiplikationselement vorhanden ist.

(3) x.pop()
entfernt und gibt ein versehentliches Element von vielen zurück. Wenn es überhaupt nichts gibt, gibt es eine Ausnahme.

(4) x.clear()
entfernt alle Elemente von vielen (Reinigung viele).

Mehrere Arbeiten


Viele Operationen, die für andere Composite-Typen (z.B. Listen, Artefakte) verwendet werden können, machen für viele keinen Sinn.
Zum Beispiel, Index und Schnittbehandlung. Python ermöglicht jedoch eine Reihe von Operationen mit mehreren Elementen, die mathematische Multiplikatoroperationen simulieren.
Die meisten dieser Operationen können auf zwei Arten durchgeführt werden: Operation oder bestimmte Methode.


Multiplikationsintegration

x1 = {'foo', 'bar', 'baz'}
x2 = {'baz', 'qux', 'quux'}
Druck (x1 , x2) {'bar', 'baz', 'qux', 'quux', 'foo'}
Print(x1.union(x2)) # {'bar', 'baz', 'qux', 'quux', 'foo '

Multiplying-Betrieb (Multiples)|und ähnliches Verfahren haben einen dünnen Unterschied. Wenn du es benutzt. | Operator, beide Operanda sollte einen Typ haben. set♪ Methode union() akzeptiert jedes verlorene Objekt als Argument, verwandelt es in viele und implementiert dann die Fusion.
Anmerkung
Verlorenes Objektiterableist ein Objekt, das in der Lage ist, Elemente nacheinander zurückzugeben.


Achten Sie auf den Unterschied
x1 = {'foo', 'bar', 'baz'}
Druck.
print(x1 . ('baz', 'qux', 'quux') # buildins. Typ Fehler:
# unsupported operand type(n) for ): 'set' und 'tuple '



Mehrere Operationen und Methoden

Die folgende Liste der für Python verfügbaren Operationen. Einige werden vom Bediener durchgeführt, einige nach Methode und einige nach beiden. Das oben dargelegte Prinzip ist allgemein anwendbar: Wenn viele erwartet werden, akzeptieren die Methoden in der Regel jedes Element, das als Argument verwendet werden soll, aber die Betreiber benötigen eine Art von Objekten als Operands set

Beschreibung: Die Anmerkungen in quadratischen Klammern weisen darauf hin, dass dieses Teil weggelassen werden kann.
TitelMethodeBetreiberWarenbezeichnung
Verbandx1.union(x2[, x3, …])x1 | x2 [| x3 …]gibt viele Elemente zurück, die entweder in x1 oder in x2 vorhanden sind (oder alle)
Schnittx1.intersection(x2[, x3, …])x1 & x2 [& x3 …]gibt viele Elemente gemeinsam zu x1 und x2 (und andere)
Differenz zwischen Vielfachenx1.difference(x2)x1 - x2 [- x3 …]gibt viele Elemente zurück, die in x1, aber nicht in x2 (nur unterstützt mehrere)
symmetrischer Unterschied zwischen Vielfachenx1.symmetric_difference(x2)x1 ^ x2 [^ x3]gibt viele Elemente zurück, die in x1 oder x2, aber nicht in beiden sind.
(Operator)^ Unterstützt mehrere
gemeinsame Elemente in den Sätzenx1.isdisjoint(x2)нетRücksendungen Stimmt, wenn x1 und x2 keine gemeinsamen Elemente haben
x1 multiple x2x1.issubset(x2)x1 <= x2Stimmt, wenn x1 multipliziert x2, ansonsten - Falsch
Korrektes U-Boot-x1 < x2Stimmt, wenn x1 die richtige Vielzahl x2 ist
x1 multipliziert x2x1.issuperset(x2)x1 >= x2Stimmt, wenn x1 alle Elemente x2 enthält
die richtige Vielzahl-x1 > x2Stimmt, wenn x1 die richtige Vielzahl x2 ist
Multiplikationx1.update(x2[, x3 ...])x1 |= x2 [| x3 ...]Zu x1 Elementen x2 nicht in x1
Schnittx1.intersection_update(x2[, x3 ...])x1 &= x2 [& x3 ...]Aktualisieren x1, Halten der Elemente in beiden Multiplexen x1 und x2
Multiplikationsdifferenzx1.difference_update(x2[, x3 ...])x1 -= x2 [| x3 ...]Aktualisierungen x1, Entfernen von Elementen in x2
symmetrischer Unterschiedx1.symmetric_difference_update(x2)x1 ^= x2Updates x1, Halteelemente gefunden in x1 x2 aber nicht beide

Mehrere?

Wie wir wissen, wird die Reihenfolge der Elemente in vielerlei Hinsicht nicht berücksichtigt. Gibt es also einen Punkt bei der Einstufung von Mehrfachen in Python 3? (Es gibt also ein Fragezeichen im Titel)

Um das Element in vielerlei Hinsicht schnell zu suchen, ist es wünschenswert, sie in Ordnung zu halten.

Wir werden uns einige Beispiele ansehen. Was geschieht mit verschiedenen Arten von Daten in einer Menge? Diese Elemente dürfen nicht sortiert werden. Wenn wir die Elemente aus dem Team ziehen print()sie werden etwa wie folgt ausgestellt:

a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'}
Druck(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab '
In diesem Fall werden nicht sortierte Werte entfernt. Wenn der Start wiederholt wird, kann der Entnahmevorgang anders sein. Aber es ist nur, wenn die Elemente verschiedener Typen gemischt werden.

Versuchen wir, eine Art von Daten zu entfernen (z.B. nur Nummer):
a = {0, 1, 12, 3, 2}
Druck(a) # {0, 1, 2, 3, 12}
Alle Elemente werden gestrafft. Versuchen wir, die Liste zu ändern:
a = {0, 1, 12, 3, 2}
b = Liste(a)
Druck(b) # [0, 1, 2, 3, 12]
In ähnlicher Weise wurde die Liste durch wachsende Elemente gekennzeichnet.

Es scheint, dass die Elemente in geordneter Form gespeichert werden, wenn sie ein Typ sind♪ Aber Sie müssen nicht darauf zählen, Python Algorithmen können sich ändern.

Wenn Sie eine bezaubernde Liste von vielen Dingen bekommen müssen, sollten Sie die Funktion besser nutzen, um wahr zu sein. sort (seufzt)sorted) Elemente werden sortiert. Ihr Code wird für andere verstanden.