Читать книгу Python One-Liners - Christian Mayer - Страница 36

Sammlung

Оглавление

Eine Menge ist eine Sammlung von Elementen wie eine Liste oder ein Tupel. Die Sammlung besteht entweder aus primitiven (Integer, Floats, Strings) oder aus komplexen Elementen (Objekte, Tupel). Allerdings müssen alle Datentypen Hash-fähig sein, was bedeutet, dass ihnen ein Hash-Wert zugeordnet ist. Der Hash-Wert eines Objekts ändert sich nie und wird dazu verwendet, um das Objekt mit anderen Objekten zu vergleichen. Schauen wir uns das Beispiel in Listing 1–8 an, das eine Menge aus drei Strings erzeugt, nachdem deren Hash-Werte geprüft wurden. Sie versuchen, eine Menge aus Listen herzustellen, was nicht funktioniert, da Listen nicht Hash-fähig sind.

hero = "Harry"

guide = "Dumbledore"

enemy = "Lord V."

print(hash(hero))

# 6175908009919104006

print(hash(guide))

# -5197671124693729851

## Können wir aus Strings eine Menge erzeugen?

characters = {hero, guide, enemy}

print(characters)

# {'Lord V.', 'Dumbledore', 'Harry'}

## Können wir aus Listen eine Menge erzeugen?

team_1 = [hero, guide]

team_2 = [enemy]

teams = {team_1, team_2}

# TypeError: unhashable type: 'list'

Python One-Liners

Подняться наверх