Bonjour,
Ayant fait de courtes recherches sur le net et n'ayant pas trouvé, je me permets de vous solliciter.
Sur python 2.5.1 environnement Windows Xp, je fais ceci :
Bien entendu, je voudrais avoir [16,67, 33,33, 50.0]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 >>>a=[1.0,2.0,3.0] >>>b=map(lambda f:f*100/sum(a),a) >>>print b [16.6666666666668, 33.3333333333336, 50.0] >>>c=map(lambda f:round(f,2),b) >>>print c [16.670000000000002, 33.3299999999998, 50.0]
J'avais mis le round initialement dans le 1er map ce qui revient au même
Avez vous une suggestion? J'ai pas envie de créer une fonction alors qu'il y a les outils pour, et surtout je voudrais comprendre pourquoi.
Merci
PS:
Plus fort, je dois avoir les elements en chaine, je fais donc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 >>>d=map(lambda f:str(f),c) >>>print d ['16.67', '33.33', '50.0']
Partager