[Python] list comprehension
Marco Beri
marcoberi a gmail.com
Ven 4 Dic 2020 10:59:26 CET
On Fri, 4 Dec 2020 at 10:45, Walter Valenti <waltervalenti a yahoo.it> wrote:
> Ciao,
> usa semplice domanda sulle list comprehension
> Faccio l'esempio con questo semplice codice:
>
> lista = [0,1,2,3,4,5,6,7,8,9,10,12,14,16]
> s = [n for n in lista if n%2 == 0][2]
> print(s)
>
> In questo caso l'interprete (nel mio caso 3.8.6) è "intelligente" da
> fermarsi all'elemento con indice due
> nella comprehension o verifica comunque la condizione su tutta la lista ?
>
Testa la condizione su tutta la lista.
Puoi verificarlo così:
>>> lista = [0,1,2,3,4,5,6,7,8,9,10,12,14,16]
>>> def pari(n):
... print(n)
... return n % 2 == 0
...
>>> s = [n for n in lista if pari(n)][2]
0
1
2
3
4
5
6
7
8
9
10
12
14
16
>>> print(s)
4
Ciao.
Marco.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20201204/a5b66778/attachment.html>
Maggiori informazioni sulla lista
Python