1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Psaní efektivního kódu v Pythonu

Connected

cvičení

Pokémoni bez cyklu

Do tvé relace byl načten seznam poke_names obsahující 720 Pokémonů. Druhý seznam poke_gens obsahuje generaci příslušející každému Pokémonovi.

Níže je připravený cyklus for, který filtruje Pokémony z první nebo druhé generace a zjišťuje počet písmen v jejich jménu:

gen1_gen2_name_lengths_loop = []

for name,gen in zip(poke_names, poke_gens):
    if gen < 3:
        name_length = len(name)
        poke_tuple = (name, name_length)
        gen1_gen2_name_lengths_loop.append(poke_tuple)

Pokyny

100 XP
  • Nahraď výše uvedený cyklus for pomocí list comprehension a funkce map():

    • Pomocí list comprehension získej všechny Pokémony patřící do 1. nebo 2. generace. Výsledek ulož jako gen1_gen2_pokemon.
    • Pomocí funkce map() zjisti počet písmen v názvu každého Pokémona ze seznamu gen1_gen2_pokemon. Výsledný map object ulož jako name_lengths_map.
    • Zkombinuj gen1_gen2_pokemon a name_lengths_map do seznamu s názvem gen1_gen2_name_lengths.