Eine der Möglichkeiten, um einfach Dictionaries zu erstellen, ist die Verwendung von Comprehensions. Ähnlich wie bei der List-Comprehension ist es möglich, ein Dict mit einer Inline-For-Schleife zu erstellen:
Genauso wie bei Listen- oder Mengen-Comprehensions gelten alle Regeln für Filter oder bedingte Elemente auch für Dict-Comprehensions.
names = ['Bob', 'Anna', 'Charles']
surnames = ['Brown', 'Kennedy', 'Jackson']
people = {names[i]: surnames[i] for i in range(len(names)) if names[i] != 'Anna'}
print(people)
# {'Bob': 'Brown', 'Charles': 'Jackson'}
Herausforderung
Gegeben sind n Zahlen, die durch ein Leerzeichen getrennt sind. Sie sollen ein Dictionary erstellen, das jede Zahl auf ihren Kubus abbildet, wobei alle Zahlen ausgeschlossen werden, deren Quadrat auf 6 endet.
Die einzige Zeile der Eingabe enthält durch Leerzeichen getrennte Zahlen.
Das Programm sollte die Zahlen, die die Bedingung erfüllen, zusammen mit ihrem Kubus ausgeben.