Wie man zwei Sets in Python verbindet

Jinku Hu 30 Januar 2023
  1. A |= B um zwei Sets in Python zu verbinden
  2. A.update(B) um zwei Sets in Python zu verbinden
  3. A.union(B) um zwei Mengen in Python zu verbinden
  4. reduce(operator.or_, [A, B]) um zwei Mengen in Python zu verbinden
Wie man zwei Sets in Python verbindet

In diesem Tutorial werden wir verschiedene Methoden vorstellen, um zwei Sets in Python zu verbinden.

  1. A |= B
  2. A.update(B)
  3. A.union(B)
  4. reduce(operator.or_, [A, B])

A |= B um zwei Sets in Python zu verbinden

A |= B fügt alle Elemente der Menge B zur Menge A hinzu.

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A |= B
>>> A
{4, 5, 6, 7, 8, 9}

A.update(B) um zwei Sets in Python zu verbinden

Die Methode A.update(B) ist identisch mit A |= B. Sie modifiziert den Satz A an Ort und Stelle.

>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]

A.union(B) um zwei Mengen in Python zu verbinden

A.union(B) gibt die Vereinigung der Mengen A und B zurück. Es modifiziert nicht die bestehende Menge A, sondern gibt eine neue Menge zurück.

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}

Sie ist identisch mit A | B.

reduce(operator.or_, [A, B]) um zwei Mengen in Python zu verbinden

operator.or_(A, B) gibt das bitweise or von A und B oder die Vereinigung von Mengen zurück A und B, wenn A und B gesetzt sind.

reduce in Python 2.x oder functools.reduce in Python 2.x und 3.x wendet die Funktion auf die Elemente der Iteration an.

Deshalb wendet reduce(operator.or_, [A, B]) die Funktion or auf die Elemente von A und B an. Es ist identisch mit dem Python-Ausdruck A | B.

>>> import operator
>>> from functools import reduce
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> reduce(operator.or_, [A, B])
{4, 5, 6, 7, 8, 9}
Achtung

reduce ist die eingebaute Funktion in Python 2.x, ist aber in Python 3 veraltet.

Daher müssen wir functools.reduce verwenden, um die Codes in Python 2 und 3 kompatibel zu machen.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - Python Set