Potrzebuję wyodrębnić te klucze ze słownika, których wartości przechodzą pewien warunek. Zasadniczo, chcę to zrobić, tylko w krótszym, bardziej pythony sposób:Python3: warunkowa ekstrakcja kluczy ze słownika ze zrozumieniem
keys=[]
for key in dict:
if dict[key]==True:
keys.append(key)
To był mój oryginalny pomysł, ale to podnosi ValueError:
[key for (key,val) in map if val==True]
wymyśliłem to dla Chwila, ale nie mogę oprzeć się wrażeniu, że to niezbyt miłe:
[key for key in map.keys() if map[key]==True]
Czy jest mniej niechlujny sposób? Może coś oczywistego, czego wyraźnie brakuje?
Dzięki!
Pytanie oznaczonego (w tytule) Pythonie 3, więc 'dict.iteritems()' nie istnieje. – Volatility
@Volatility: To nauczy mnie tylko patrzenia na znaczniki ... –