Maison  >  Article  >  développement back-end  >  Comment créer des plages à virgule flottante avec range() en Python ?

Comment créer des plages à virgule flottante avec range() en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-20 10:59:30600parcourir

How to Create Floating-Point Ranges with range() in Python?

Itération à virgule flottante avec range()

En Python, la fonction range() génère commodément une séquence d'entiers. Cependant, il ne prend pas en charge directement les nombres à virgule flottante. Cet article aborde la question de savoir comment créer une séquence de type plage pour les flottants en Python.

La fonction standard range() accepte des valeurs entières comme arguments de début, d'arrêt et d'étape. Toute tentative d'utilisation d'arguments à virgule flottante pour le paramètre step génère une ValueError. En effet, le paramètre step représente l'incrément entre les éléments de la séquence et il ne doit pas être nul.

Approches équivalentes pour les plages à virgule flottante

Pour obtenir un flottement -itération de points à l'aide de range(), une approche consiste à mettre à l'échelle les arguments par un facteur de 10. Par exemple :

<code class="python">>>> range(0.5, 5, 1.5)  # Invalid: range() step argument must not be zero
[0, 1, 2, 3, 4]</code>
<code class="python">>>> [x / 10.0 for x in range(5, 50, 15)]
[0.5, 1.5, 2.5, 3.5, 4.5]</code>

En multipliant la valeur du pas par 10, nous créons essentiellement une séquence de entiers puis divisez chaque élément par 10 pour obtenir la séquence à virgule flottante.

Une autre approche consiste à utiliser les fonctions lambda et la fonction map() :

<code class="python">>>> map(lambda x: x / 10.0, range(5, 50, 15))
<map object at 0x10440b0e8></code>

La fonction lambda transforme chaque entier dans la plage dans sa valeur à virgule flottante correspondante, et map() applique cette fonction à chaque élément de la séquence. Le résultat est un objet cartographique qui peut être itéré pour produire la plage à virgule flottante souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn