Informatika1-2015/Gyakorlat11
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „== Listaértelmezések == <python> [kifejezés for elem in bejárható_objektum] </python> Egy olyan listát hoz létre melyben a '''kifejezés''' szerepel a '''bejár…”) |
|||
4. sor: | 4. sor: | ||
[kifejezés for elem in bejárható_objektum] | [kifejezés for elem in bejárható_objektum] | ||
</python> | </python> | ||
− | Egy olyan listát hoz létre melyben a '''kifejezés''' szerepel a '''bejárható_objektum''' minden elemére. | + | 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. |
<python> | <python> | ||
[kifejezés for elem in bejárható_objektum if feltétel] | [kifejezés for elem in bejárható_objektum if feltétel] | ||
20. sor: | 20. sor: | ||
[n^2 for n in range(1, 5)] # [1, 4, 9, 16] | [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] | [n for n in [-1, 2, -3, 4] if n > 0] # [2, 4] | ||
+ | </python> | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | <python> | ||
+ | [n for n in range(1, 10)] | ||
+ | </python> | ||
+ | <python> | ||
+ | [(n, m) for n in range(1, 10) for m in range(1, 5)] | ||
+ | </python> | ||
+ | <python> | ||
+ | [n for n in range(1, 10) if is_prime(n)] | ||
+ | </python> | ||
+ | <python> | ||
+ | [(n, m) for n in range(1, 5) for m in range(n, 5)] | ||
+ | </python> | ||
+ | <python> | ||
+ | [(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0] | ||
+ | </python> | ||
+ | <python> | ||
+ | sorted([(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0]) | ||
+ | </python> | ||
+ | <python> | ||
+ | sorted([(m, n) for n in range(1, 10) for m in range(n, 10) if m % n == 0]) | ||
</python> | </python> |
A lap 2015. november 24., 04:54-kori változata
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])