Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

List comprehension 5: Nøsting

Gitt følgende tekst:

tekst = [['Kari', 'maler', 'huset', '.'], ['Det', 'er', 'lettere',
'overskyet,', 'men', 'varmt', '.'], ['Spurvene', 'leker',
'i', 'dammen', '.']]

a) Lag ei liste med alle ordene.
b) Lag ei liste med alle ordene som ikke er punktum

Følgende oppgaver krever ikke bruk av lista fra a) og b):

c) Lag en 6x6-matrise fylt med 9-ere.
d) Lag en 5x5-matrise hvor hvert element er rad-indeksen ganger kolonne-indeksen (begynn på 0), med mindre produktet er et partall, da skal det være 0.

Vis løsningsforslag

Løsningsforslag:

tekst = [['Kari', 'maler', 'huset', '.'], ['Det', 'er', 'lettere',
'overskyet,', 'men', 'varmt', '.'], ['Spurvene', 'leker',
'i', 'dammen', '.']]

#a
print([w for s in tekst for w in s])
#b
print([w for s in tekst for w in s if w != "."])
#c
print([[9 for i in range(6)] for j in range(6)])
#d
print([[i*j for i in range(5)] for j in range(5)])

Utskrift:

['Kari', 'maler', 'huset', '.', 'Det', 'er', 'lettere', 'overskyet,', 'men', 'varmt', '.', 'Spurvene', 'leker', 'i', 'dammen', '.']
['Kari', 'maler', 'huset', 'Det', 'er', 'lettere', 'overskyet,', 'men', 'varmt', 'Spurvene', 'leker', 'i', 'dammen']
[[9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9], [9, 9, 9, 9, 9, 9]]
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12], [0, 4, 8, 12, 16]]