@aeris
Wut ?

Python:
>>> [ i*-1 if i else None for i in [None,1,2] ]
[None, -1, -2]

@sebsauvage @aeris

MULTIPLY = lambda x,n : [n*xi if xi not in [None,inf] else xi for xi in x]

Une autre façon de faire.

aeris ☣ 🇫🇷 @aeris

@bigduke @sebsauvage Les lambda ne supportent pas le multiligne. Ça peut vite devenir la merde…

@aeris ah je sais pas ce que tu veux en faire. mais c'est aussi concis que l'exemple ruby et réutilisable. #justicePourPython :P

@bigduke De manière générale, j’suis vite fucked en python et obligé d’écrire du code de 40.000km de long, blindé de variables/fonctions dont je n’ai pas besoin…
Par exemple en ruby, je ferais un truc comme ça plutôt pour éviter le one-liner tout en conservant de la lisibilité. Faire ça en python, via les CL tu vas juste pleurer (CL dans une CL, test complexe à faire rentrer dans une CL…). social.imirhil.fr/media/PUokDn

@aeris

X = [None,1,2,3]

MULTIPLY = lambda x,n : [ (1-xi%2)*0.5*xi + (xi%2)*n*xi if xi not in [None,inf] else xi for xi in x]

res = array( MULTIPLY(X,-1) )
res = res[res>-0.5]

il faut numpy.array par contre.