Maison  >  Article  >  développement back-end  >  Comment générer une plage à virgule flottante en Python ?

Comment générer une plage à virgule flottante en Python ?

DDD
DDDoriginal
2024-10-20 11:04:30940parcourir

How to Generate a Floating-Point Range in Python?

Plage à virgule flottante en Python

La fonction range() intégrée de Python vous permet de générer une séquence d'entiers. Cependant, lorsque vous travaillez avec des nombres à virgule flottante, une plage directe() ne suffira pas.

Problème : taille de pas non entière

Utilisation de la plage( ) avec une virgule flottante comme argument step entraîne une erreur :

<code class="python">>>> range(0.5, 5, 0.5)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    range(0.5, 5, 0.5)
ValueError: range() step argument must not be zero</code>

En effet, range() nécessite que la taille du pas soit un nombre entier.

Solution : Compréhensions de liste basées sur la division

Une façon de créer une plage à virgule flottante consiste à comprendre des listes combinées à une division :

<code class="python">[x / 10.0 for x in range(5, 50, 15)]</code>

Cette compréhension divise chaque élément de la plage(5 , 50, 15) par 10.0 pour produire une séquence à virgule flottante.

Alternative : Map et Lambda

Une autre méthode consiste à utiliser la fonction map() et un lambda expression :

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

Ici, l'expression lambda convertit chaque nombre de la plage en flottant en le divisant par 10,0. map() applique cette fonction à tous les éléments de la plage, ce qui donne une séquence à virgule flottante.

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