Začněte nyníZačněte zdarma

Vnořené list comprehensions

Skvěle! Teď už základní syntaxi list comprehensions dobře ovládáš. Pojďme tvoje dovednosti posunout o kousek dál. V tomto cvičení napíšeš list comprehension uvnitř jiného list comprehension – jinými slovy, vnořené list comprehensions. Zní to možná trochu složitě, ale zvládneš to!

Na chvíli odložíme řetězce stranou. Seznamy se dají mimo jiné využít k reprezentaci vícerozměrných objektů, jako jsou matice. V Pythonu lze matici vyjádřit jako seznam seznamů. Například matice 5 × 5 s hodnotami 04 v každém řádku vypadá takto:

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

Tvým úkolem je tuto matici znovu vytvořit pomocí vnořených list comprehensions. Připomeň si, že jeden řádek matice dokážeš sestavit jediným list comprehension. Aby vznikl seznam seznamů, stačí tento list comprehension použít jako výstupní výraz celkového list comprehension:

[[výstupní výraz] for proměnná iterátoru in iterovatelný objekt]

Všimni si, že výstupní výraz je zde sám o sobě list comprehension.

Toto cvičení je součástí kurzu

Python Toolbox

Zobrazit kurz

Pokyny k cvičení

  • Ve vnitřním list comprehension – tedy ve výstupním výrazu vnořeného list comprehension – vytvoř seznam hodnot od 0 do 4 pomocí range(). Jako proměnnou iterátoru použij col.
  • V části iterovatelného objektu vnořeného list comprehension použij range() pro vytvoření 5 řádků – tedy seznam hodnot od 0 do 4. Jako proměnnou iterátoru použij row; všimni si, že tuto proměnnou k vytváření hodnot v seznamu seznamů nepotřebuješ.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]

# Print the matrix
for row in matrix:
    print(row)
Upravit a spustit kód