PDA

View Full Version : [Python] List comprehension


Shirov
18-09-2014, 20:54
Sto faticosamente portandomi avanti nello studio di Python e non capisco una cosa che sarà la solita banalità

L1 = [x + y for x in [2,3,4] for y in [10,20,30] if (x + y) < 20]


funziona e mi restituisce una lista contenente i soli numeri

12, 13, 14

mentre

>>> L1 = [(x,y) for x in (1,20) for y in (21,40) if (((x + y) / 2) == 0)]

mi restituisce una lista vuota.... anche togliendo un livello o due di parentesi tonde.... sono certo che è banale ma a quest'ora non ci arrivo :muro:

VICIUS
18-09-2014, 21:37
Perché (x + y) / 2 non può essere mai zero. Ad esempio se prendi i primi due numeri hai (1 + 21) / 2 che fa 11. Immagino che tu volessi cercare le coppie con somma divisibile per 2? Allora dovresti usare l'operatore modulo "%" per avere il resto della divisione al posto del quoziente.

Shirov
18-09-2014, 21:42
Perché (x + y) / 2 non può essere mai zero. Ad esempio se prendi i primi due numeri hai (1 + 21) / 2 che fa 11. Immagino che tu volessi cercare le coppie con somma divisibile per 2? Allora dovresti usare l'operatore modulo "%" per avere il resto della divisione al posto del quoziente.

:muro: che figura di m...a certo che è così... grazie e scusate