/ / Jak wykonać tę listę / zrozumienie dict w python - python, słownik, spis-zrozumienie

Jak zrobić to zrozumienie listy / dict w python - python, słownik, zrozumienie list

Tworzę słownik Pythona w następujący sposób:

d= {i : chr(65+i) for i in range(4)}

Teraz wyjście z d jest {0: "A", 1: "B", 2: "C", 3: "D"}

Mam listę kluczy, które chcę sprawdzić w następujący sposób:

l = [0, 1]

Teraz chcę utworzyć kolejną listę zawierającą wartości odpowiadające tym kluczom i chciałem się dowiedzieć, czy istnieje sposób, w jaki można to zrobić za pomocą listy lub poleceń dict.

Mogę zrobić coś w następujący sposób:

[x for x in d[0]]

Jednak nie wiem jak iterować nad wpisami na mojej liście w tym ustawieniu. Próbowałem:

[x for x in d[a] for a in l] # name "a" not defined
[x for x in d[for a in l]] # invalid syntax

Odpowiedzi:

3 dla odpowiedzi № 1

Chcesz powtórzyć l, więc użyj for element in l. Następnie poszukaj rzeczy w słowniku po lewej stronie, w wyrażeniu generującym wartość:

[d[element] for element in l]

Zwróć uwagę, że słownik odwzorowujący kolejne liczby całkowite zaczynające się od 0 do liter nie jest tak efektywny, możesz równie dobrze utworzyć listę:

num_to_letter = [chr(65 + i) for i in range(4)]

To wciąż jest mapowane 0 do "A", 1 do "B"itp., ale bez etapu haszowania.