Générer une plage de flotteurs avec range()
La fonction range() intégrée de Python est bien connue pour produire une séquence de entiers. Cependant, lorsqu'il s'agit de nombres à virgule flottante, un dilemme se pose : l'argument step par défaut ne prend en charge que les incréments d'entiers.
Pour surmonter cette limitation, vous pouvez adopter quelques approches :
Utilisation de la division avec compréhension de liste :
Une solution consiste à diviser les entiers générés par range() par un flottant approprié. Par exemple, pour créer une séquence de flotteurs avec un pas de 0,5, vous pouvez utiliser la compréhension de liste suivante :
<code class="python">[x / 10.0 for x in range(5, 50, 15)] # [0.5, 1.5, 2.5, 3.5, 4.5]</code>
Lambdas et map() Fonction :
Vous pouvez également utiliser la fonction map() avec une expression lambda pour effectuer la division :
<code class="python">map(lambda x: x/10.0, range(5, 50, 15)) # [<map object at 0x7fe5c0e80950>] # (Convert to list to display values) list(map(lambda x: x/10.0, range(5, 50, 15))) # [0.5, 1.5, 2.5, 3.5, 4.5]</code>
En employant ces techniques, vous pouvez générer sans effort des séquences de nombres à virgule flottante avec des intervalles spécifiés en utilisant la plage de Python. () fonction.
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!