63 votes

Comment arrondir chaque élément d’une liste de flotteurs à 2 décimales ?

J’ai une liste qui se compose de valeurs flottantes, mais elles sont trop détaillées pour continuer. Je sais que nous pouvons les raccourcir en utilisant `` l’opérateur, comme:

Ma question est de savoir comment puis-je transformer une liste de valeurs en leurs équivalents arrondis sans utiliser d’itérateur. J’ai essayé quelque chose, mais ça jette un `` :

Comment puis-je fournir une liste propre comme:

45voto

user396483 Points 697

Si vous voulez vraiment une solution sans itérateur, vous pouvez utiliser numpy et sa fonction d’arrondi de tableau.

11voto

martineau Points 21665

Vous voudrez peut-être regarder le module de `` Python, ce qui peut rendre l’utilisation de nombres à virgule flottante et l’arithmétique avec eux beaucoup plus intuitives. Voici un exemple trivial d’une façon de l’utiliser pour « nettoyer » les valeurs de votre liste :

4voto

Sil Points 41
mylist = [0.30000000000000004, 0.5, 0.20000000000000001]
myRoundedList =  [round(x,2) for x in mylist] 
# [0.3, 0.5, 0.2]

1voto

Amit Oved Points 21

Une autre option qui ne nécessite pas numpy est:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X