Problem

3 /10


Arbeiten mit Mengen. Methoden - 2

Theory Click to read/hide

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

Problem

Miska entschied, Denskis Fähigkeit auf andere Aufgaben zu testen. Zum Beispiel dachte ich, ich würde auf Denniska aus den beiden Meißellisten überprüfen, um schnell die Anzahl der Meißel zu berechnen, die gleichzeitig in beiden treffen. Wie wir wissen, mag Deniska zu fliehen und sagt, er wird es tun. Er bittet Sie, ein Programm für ihn zu schreiben.
In Python können Sie es in einer Zeile tun.

Eingangsdaten
Zwei Zahlenlisten sind vorhanden. Alle Nummern jeder Liste sind auf einer separaten Zeile.

Ausgangsdaten
Beantworte die Aufgabe.

Beispiele
NeinEingangsdatenAusgangsdaten
11 3 2
1 2
2