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

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

DDD
Libérer: 2024-10-20 11:04:30
original
1085 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal