PyDay: Sammeln von Elementen

Flattr this!

Situation: Eine Sammlung soll Elemente jeweils nur einmal enthalten. Dafür gibt es verschiedene Wege, die ich hier — eingeleitet mit kurzem Pseudo-Code — einfach mal vorstellen möchte.

Liste += Element

liste = ['irgend', 'ein', 'Inhalt']
element = 'neuer Inhalt'
if element not in liste:
    liste.append(element)

Liste1 += Liste2

liste1 = ['irgend', 'ein', 'Inhalt']
liste2 = ['lauter', 'anderer', 'Inhalt']
for element in liste2:
    if element not in liste1:
        liste1.append(element)

Set += Element

menge = set()
element = 'neuer Inhalt'
menge.add(element)

Set += Liste

menge = set() # Eine (nicht unbedingt leere) Menge
liste = ['irgend', 'ein', 'Inhalt']
menge.update(liste)

Fazit

Wie man sieht, ist das Konzept der Menge (engl. „set“) erheblich eleganter, da sie automatisch dafür sorgt, dass jedes Element nur einmal darin vorkommt. Die meines Wissens einzige Voraussetzung ist dabei, dass das Element „hashable“ sein muss.

Ähnliche Artikel:

AuthorChristoph Jüngling

Selbständiger Softwareentwickler und Seminarleiter

Kommentar verfassen