Eine eher pythische Art, das Folgende zu tun? In diesem Beispiel versuche ich, Kommentare (ein dict) als Schlüssel-Wert-Paare zu erstellen, wobei der Schlüssel die unmodifizierte Version ist und der Wert der Rückgabewert einer Funktion ist, bei der der Schlüssel als Argument übergeben wurde.Listenverständnis, aber für Wörterbücher?
def func(word):
return word[-1:-6:-1].upper()
subs = {
'ALLOWED': ['one', 'two'],
'DISALLOWED': ['three', 'four']
}
comments = {}
for sub in subs['ALLOWED']:
# reverse and uppercase
comments[sub] = func(sub)
print(comments)
Wer hat eine Empfehlung? Es ist nicht unbedingt wichtig, dass dies erledigt ist, aber ich liebe es, Python-Idiome zu lernen und meinen Code pythonischer zu gestalten. Vielen Dank!
Alternativ Verständnis für integrierte Vermeidung -ins: 'dict (zip (subs ['ALLOWED'], Karte (func, subs ['ALLOWED'])))' Nein, nicht mehr Pythonic, nur eine Option. Ich denke, ich würde das Verständnis im wirklichen Leben bevorzugen, weshalb dies keine Antwort ist. :-) – ShadowRanger
@ShadowRanger überhaupt nicht schlecht. Obwohl es für diesen speziellen Anwendungsfall keinen großen Unterschied machen würde, denke ich, dass Ihre Version besser sein wird als meine (obwohl ich noch nicht getestet habe). Obwohl, wie Sie sagten, sicherlich nicht mehr Python;) – elethan
Yar. Mein Haupteinwand gegen meine "Lösung" ist, dass es gegen DRY verstößt (es sieht zweimal "ERLAUBT" aus); Für kleine Inputs wird Ihr Spiel definitiv gewinnen, meins ist vielleicht ein Tick schneller für riesige Inputs, aber es ist wahrscheinlich irrelevant. – ShadowRanger