Nästlade listförståelser
Bra jobbat! Nu har du god koll på grundsyntaxen för listförståelser. Dags att ta ett steg till. I den här övningen skriver du en listförståelse inuti en annan listförståelse – så kallade nästlade listförståelser. Det låter lite krångligt, men du klarar det!
Låt oss lämna strängarna ett tag. Listor kan bland annat användas för att representera flerdimensionella objekt, till exempel matriser. I Python kan en matris representeras som en lista av listor. En 5 x 5-matris med värdena 0 till 4 i varje rad kan till exempel skrivas så här:
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]]
Din uppgift är att återskapa den här matrisen med hjälp av nästlade listförståelser. En enda listförståelse räcker för att skapa en av matrisens rader. För att skapa en lista av listor anger du helt enkelt en listförståelse som utrycksuttryck i den yttre listförståelsen:
[[utrycksuttryck] for iteratorvariabel in itererbart objekt]
Observera att utrycksuttrycket här i sig är en listförståelse.
Den här övningen är en del av kursen
Python Toolbox
Övningsinstruktioner
- I den inre listförståelsen – det vill säga utrycksuttrycket i den nästlade listförståelsen – skapar du en lista med värden från
0till4med hjälp avrange(). Användcolsom iteratorvariabel. - I den iterbara delen av din nästlade listförståelse använder du
range()för att räkna upp 5 rader – det vill säga skapa en lista med värden från0till4. Användrowsom iteratorvariabel. Observera att du inte behöver den variabeln för att skapa värdena i listan av listor.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]
# Print the matrix
for row in matrix:
print(row)