1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scriere eficientă a codului Python

Connected

exercițiu

Colectarea Pokémon-urilor fără o buclă

O listă cu 720 de Pokémon a fost încărcată în sesiunea ta ca poke_names. O altă listă cu generația corespunzătoare fiecărui Pokémon a fost încărcată ca poke_gens.

A fost creată o buclă for pentru a filtra Pokémon-urile din generația unu sau doi și pentru a colecta numărul de litere din numele fiecăruia:

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)

Instrucțiuni

100 XP
  • Elimină bucla for de mai sus folosind list comprehension și funcția map():

    • Folosește list comprehension pentru a colecta fiecare Pokémon din generația 1 sau generația 2. Salvează rezultatul ca gen1_gen2_pokemon.
    • Folosește funcția map() pentru a calcula numărul de litere din numele fiecărui Pokémon din lista gen1_gen2_pokemon. Salvează acest obiect map ca name_lengths_map.
    • Combină gen1_gen2_pokemon și name_lengths_map într-o listă numită gen1_gen2_name_lengths.