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 4: List comprehension med if/else

Gitt denne lista (samme som i list comprehension 3):

gammel_liste = [('Kari', 'PN'), ('jager', 'VT'), ('dyret', 'N'),
('ved', 'P'), ('vannet', 'N'),('.','SYM')]

a) Lag ei liste av alle substantivene.
b) Lag ei liste av alle ordene som ikke er preposisjoner.
c) Lag ei liste av alle ordene som er lengre enn tre tegn.

Gitt følgende liste.

tall = [x for x in range(100)]

a) Lag ei liste av alle partallene.
b) Lag ei liste av alle tallene som har et kvadrat mellom 200 og 500.
c) Lag ei liste der alle partall erstattes av 2 og alle oddetall av 3.

Vis løsningsforslag

Løsningsforslag:

gammel_liste = [('Kari', 'PN'), ('jager', 'VT'), ('dyret', 'N'),
('ved', 'P'), ('vannet', 'N'),('.','SYM')]

print([x[0] for x in gammel_liste if x[1] == "N"])
print([x[0] for x in gammel_liste if x[1] != "P"])
print([x[0] for x in gammel_liste if len(x[0]) > 3])



tall = [x for x in range(100)]

print([x for x in tall if x % 2 == 0])
print([x for x in tall if 200 < x ** 2 < 500])
print([2 if x % 2 == 0 else 3for x in tall])

Utskrifter:

['dyret', 'vannet']
['Kari', 'jager', 'dyret', 'vannet', '.']
['Kari', 'jager', 'dyret', 'vannet']
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
[15, 16, 17, 18, 19, 20, 21, 22]
[2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3]