Informatika1-2015/Gyakorlat11
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2015. november 24., 05:54-kor történt szerkesztése után volt.
Listaértelmezések
[kifejezés for elem in bejárható_objektum]
Egy olyan listát hoz létre melyben a kifejezés szerepel a bejárható_objektum minden elemére. Bejárható objektum például egy lista, az is amit a range függvény hoz létre.
[kifejezés for elem in bejárható_objektum if feltétel]
Mint az elõzõ, de csak azok az elemek lesznek benne melyekre teljesül a feltétel.
[kifejezés for elem1 in bejárható_objektum1 if feltétel1 for elem2 in bejárható_objektum2 if feltétel2 for elemN in bejárható_objektumN if feltételN]
Több feltétel és ciklus is írható akár.
Pl:
[n^2 for n in range(1, 5)] # [1, 4, 9, 16] [n for n in [-1, 2, -3, 4] if n > 0] # [2, 4]
Feladatok
Mit csinál?
Futtassuk le az alábbi példákat és értelmezzük õket mi is történik bennük és hogyan érjük ezt el.
[n for n in range(1, 10)]
[(n, m) for n in range(1, 10) for m in range(1, 5)]
[n for n in range(1, 10) if is_prime(n)]
[(n, m) for n in range(1, 5) for m in range(n, 5)]
[(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0]
sorted([(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0])
sorted([(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0])