Python: Jak sprawdzić, czy klucze istnieją i pobrać wartość ze słownika w malejącym priorytecie
Mam słownik i chciałbym uzyskać z niego pewne wartości na podstawie niektórych kluczy. Na przykład mam słownik dla użytkowników z imieniem, nazwiskiem, nazwą użytkownika, adresem, wiekiem itd. Powiedzmy, że chcę uzyskać tylko jedną wartość (imię) - nazwisko lub imię lub nazwę użytkownika, ale w malejącym priorytecie, jak pokazano poniżej:
(1) nazwisko: jeśli klucz istnieje, pobierz wartość i przestań sprawdzać. Jeśli nie, przejdź do następnego klawisza.
(2) imię: jeśli klucz istnieje, pobierz wartość i przestań sprawdzać. Jeśli nie, przejdź do następnego klawisza.
(3) nazwa użytkownika: jeśli klucz istnieje, pobierz wartość lub zwróć wartość null / empty
#my dict looks something like this
myDict = {'age': ['value'], 'address': ['value1, value2'],
'firstName': ['value'], 'lastName': ['']}
#List of keys I want to check in descending priority: lastName > firstName > userName
keySet = ['lastName', 'firstName', 'userName']
Próbowałem uzyskać wszystkie możliwe wartości i umieścić je na liście, aby móc pobrać pierwszy element z listy. Oczywiście to nie wyszło.
tempList = []
for key in keys:
get_value = myDict.get(key)
tempList .append(get_value)
Czy jest lepszy sposób, aby to zrobić bez blokowania if else?