Ich habe wirklich Schwierigkeiten beim Entpacken und Iterieren über die Tupel in diesem Wörterbuch. Im Wesentlichen nimmt die Funktion eine zweikoordinierte Position (Wx, Wy) ein und prüft, ob sie sich in einem der Tupel befindet, die sich in einer Liste, im Wörterbuch, Boni befinden. Ich habe das Gefühl, ich übertreibe es oder bin einfach weit weg.Überprüfen Sie, ob das Argument (Tupel) im Wörterbuch ist
Thanks :)
bonuses = {1: [(3,3)], 2: [(1, 0), (0, 3), (2, 4), (5, 2)]}
def find_bonus(pos):
""" Check if position is valid"""
bonus_info = dict.values(bonuses)
for (Wx, Wy) in pos:
if (Wx, Wy) in tuple(bonus_info):
return pos
else:
return False
Dies wird schmerzhaft langsam für viele/lange Listen in der 'dict'. Sie benötigen eine andere Struktur (vielleicht eine 'Menge 'aller Tupel), wenn Sie nach vielen Positionen suchen wollen. –