1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Python Toolbox

Connected

Cvičení

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 0 až 4 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.

Pokyny

100 XP
  • 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š.