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])
Személyes eszközök