Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Python range() Función:Flotante, Lista, Para ejemplos de bucle

¿Qué es el rango de Python?

Python range() es una función incorporada disponible con Python desde Python (3.x), y brinda una secuencia de números basada en el índice de inicio y finalización proporcionado. En caso de que no se proporcione el índice de inicio, el índice se considera como 0 y aumentará el valor en 1 hasta el índice de finalización.

Por ejemplo, el rango (5) generará valores de 0,1,2,3,4. El rango de Python () es un comando muy útil y se usa principalmente cuando tiene que iterar usando el bucle for.

En este tutorial, aprenderá:

Sintaxis

range(start, stop, step)

Parámetros

Valor de retorno:

El valor devuelto es una secuencia de números desde el índice de inicio hasta el final dado.

Python range() Función e historial

Python range() se introdujo a partir de la versión 3 de Python, antes de que xrange() fuera la función.

Tanto range como xrange() se utilizan para producir una secuencia de números.

Las siguientes son las diferencias entre range y xrange():

rango() rangox()
El range() proporciona la secuencia de números y devuelve una lista de números. La función xrange() proporciona un objeto generador que necesita ser enlazado en un bucle for para obtener los valores.
El rango() devuelve una lista. xrange() devuelve un objeto generador.
El método range() usa más memoria ya que la lista devuelta debe almacenarse en comparación con xrange(). Como xrange() devuelve un objeto generador, no da valores instantáneamente y debe usarse dentro del ciclo for para obtener los valores.
El uso de la memoria es mayor, por lo que la ejecución del código es lenta cuando se trabaja con un gran conjunto de datos. La ejecución del código es más rápida usando xrange().

Usando rango()

Este ejemplo muestra cómo imprimir los valores del 0 al 9 usando range().

El valor utilizado en el rango es 10, por lo que la salida es 0 1 2 3 4 5 6 7 8 9

Como no se da el inicio, el inicio se considera 0 y el último valor se da hasta 9. El último valor siempre es 1 menos que el valor dado, es decir, parada-1.

for i in range(10):
    print(i, end =" ")

Salida:

0 1 2 3 4 5 6 7 8 9

Usando inicio y parada en rango()

En el código, el valor inicial es 3 y el valor final es 10. Aquí el índice inicial es 3, por lo que la secuencia de números comenzará desde 3 hasta el valor final. El último valor de la secuencia será 1 menos que el valor final 10-1 =9.

for i in range(3, 10):
    print(i, end =" ")

Salida:

3 4 5 6 7 8 9

Uso de inicio, parada y paso

El valor inicial es 3, por lo que la secuencia de números comenzará en 3. El valor final es 10, por lo que la secuencia de números se detendrá en (10-1), es decir, 9. El paso es 2, por lo que cada valor en la secuencia incrementarse en 2. Si no se proporciona el valor del paso, el valor predeterminado para el paso es 1.

for i in range(3, 10, 2):
    print(i, end =" ")

Salida:

3 5 7 9

Hasta ahora, hemos visto cómo la función range() da el valor incrementado para el valor de parada dado. Probemos ahora un ejemplo para obtener el valor reducido en el rango dado.

Incrementar los valores en el rango usando un paso positivo.

El paso de parámetro en range() se puede usar para incrementar/disminuir los valores. Por defecto, es un valor positivo 1. Por lo tanto, siempre dará valores incrementados.

El valor del paso debe ser positivo en caso de que desee valores incrementados como salida.

for i in range(1, 30, 5):
    print(i, end =" ")

Salida:

1 6 11 16 21 26

Rango inverso:disminución de los valores usando un paso negativo.

El paso de parámetro con valor negativo en range() se puede usar para obtener valores decrementados. En el ejemplo a continuación, el valor del paso es negativo, por lo que la salida disminuirá del valor del rango dado.

for i in range(15, 5, -1):
    print(i, end =" ")

Salida:

15 14 13 12 11 10 9 8 7 6

El valor inicial es 15, el valor final es 5 y el valor de paso es un número negativo, es decir, -1. Con las entradas anteriores, la función range() disminuirá el valor de 15 en adelante hasta que alcance el valor de parada, pero aquí la diferencia es que el último valor será parada + 1.

Usando números flotantes en Python range()

Trabajemos ahora en el rango () usando números de coma flotante.

Ejemplo:

for i in range(10.5):
    print(i, end =" ")

En el ejemplo anterior, hemos utilizado el valor de parada como 10,5.

La salida es:

Traceback (most recent call last):
  File "python_range.py", line 1, in <module>
    for i in range(10.5):
TypeError: 'float' object cannot be interpreted as an integer

Python da un error ya que la función range() no admite números de punto flotante para inicio, parada y paso.

Usando for-loop con Python range()

En este ejemplo, usaremos una matriz de números y, veamos cómo usar la iteración de la matriz dentro del bucle for usando range()

Ejemplo:

arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']

for i in range(len(arr_list)):
    print(arr_list[i], end =" ")

Salida:

MysqlMongodb PostgreSQL Firebase

En el ejemplo anterior, hemos utilizado len(arr_list) como valor de parada. El bucle for iterará hasta el valor de parada, es decir, la longitud de la matriz y será 4, ya que tenemos cuatro elementos en arr_list. El valor inicial será 0 y el paso será 1. Entonces, los valores comenzarán desde 0 y se detendrán en 3, es decir, la longitud de la matriz -1 significa 4 -1 =3.

Usando Python range() como una lista

En este ejemplo, verá cómo utilizar la salida del rango como una lista.

Ejemplo:

print(list(range(10)))

Salida:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Puede ver que la salida es un formato de lista. No fue necesario repetir el rango () y usando el método list () pudimos convertir directamente la salida del rango al formato de lista.

Usando caracteres en python range()

Hasta ahora, hemos usado números enteros en python range(). También hemos visto que los números de punto flotante no son compatibles con el rango de python. Probemos y veamos el resultado de lo que sucede cuando usamos caracteres.

Ejemplo:

for c in range ('z'):
        print(c, end =" ")

Salida:

Traceback (most recent call last):
  File "python_range.py", line 1, in <module>
    for c in range ('z'):
TypeError: 'str' object cannot be interpreted as an integer

Lanza un error que dice que una cadena no se puede interpretar como un número entero.

Para obtener la lista de los alfabetos, puede personalizar el código y obtener el resultado deseado como se muestra a continuación:

Ejemplo:

def get_alphabets(startletter, stopletter, step):
    for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):
        yield chr(c)

print(list(get_alphabets("a", "h", 1)))

Salida:

['a', 'b', 'c', 'd', 'e', 'f', 'g']

Cómo acceder a los elementos del rango

Puede utilizar un bucle for para obtener los valores del rango o utilizar el índice para acceder a los elementos del rango().

Uso de bucle for

Ejemplo:

for i in range(6):
    print(i)

Salida:

0
1
2
3
4
5

Uso del índice

El índice se usa con el rango para obtener el valor disponible en esa posición. Si el valor del rango es 5, para obtener el valor inicial, puede usar el rango (5) [0] y el siguiente rango de valores (5) [1] y así sucesivamente.

Ejemplo:

startvalue = range(5)[0] 
print("The first element in range is = ", startvalue) 

secondvalue = range(5)[1] 
print("The second element in range is = ", secondvalue) 

lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)

Salida:

startvalue = range(5)[0] 
print("The first element in range is = ", startvalue) 

secondvalue = range(5)[1] 
print("The second element in range is = ", secondvalue) 

lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)

Usando lista()

Este método imprimirá todos los elementos del rango(). Usando list() devolverá los elementos de range() en formato de lista.

Ejemplo:

print(list(range(10)))

Salida:

 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Da la salida de la lista para el rango dado.

Ejemplo:Obtener números pares usando range()

El uso de range() obtendrá la lista de números pares en el rango dado como entrada. Los parámetros para range() son, el inicio es 2, la parada es 20 y el paso es 2, por lo que los valores se incrementarán en 2 y darán números pares hasta la parada-2.

Ejemplo:

for i in range(2, 20, 2):
    print(i, end =" ")

Salida:

2 4 6 8 10 12 14 16 18

Fusión de salidas de dos rangos()

En este ejemplo, se concatenarán 2 funciones range() con la ayuda de la función chain() del módulo itertools.

Ejemplo:

from itertools import chain 

print("Merging two range into one") 
frange =chain(range(10), range(10, 20, 1))
for i in frange: 
    print(i, end=" ")

Salida:

Merging two range into one
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Usando range() con NumPy

El módulo NumPy tiene una función arange() que funciona y proporciona un resultado similar al de range(). El arreglar () toma los mismos parámetros como rango ().

Sintaxis:

arange(start, stop, step)

Para trabajar con NumPy, siga los pasos que se indican a continuación.

Paso 1 :Importar módulo NumPy

import numpy

En caso de que durante la ejecución, dé un error que dice que no se encontró el módulo numpy, debe instalar el módulo como se muestra en el paso 2.

Paso 2 :Instalar NumPy

pip install numpy

Paso 3 :Ejemplo de trabajo de arange() usando NumPy

import numpy as np 

for  i in np.arange(10):
   print(i, end =" ")        

Salida:

0 1 2 3 4 5 6 7 8 9

Números de punto flotante usando NumPy arange()

No es posible obtener la secuencia de punto flotante usando range(), pero es posible usando NumPy arange().

Ejemplo:

El rango que queremos es de 0.5 a 1.5. El valor se incrementará en 0,2.

import numpy as np 

for  i in np.arange(0.5, 1.5, 0.2):
   print(i, end =" ")        

Salida:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

El resultado que obtenemos es un poco extraño, algunos de los números flotantes se muestran con 16 decimales. Esto sucede debido a la complejidad de almacenar números flotantes decimales en formato binario. También puede redondear los valores si es necesario y limitarlos a los decimales que necesite.

Resumen:


python

  1. Argumentos de la función de Python
  2. Python Anónimo/Función Lambda
  3. Generadores de Python
  4. Cierres Python
  5. Funciones Python Lambda con EJEMPLOS
  6. Función Python abs():Ejemplos de valores absolutos
  7. Función Python round() con EJEMPLOS
  8. Python range() Función:Flotante, Lista, Para ejemplos de bucle
  9. Función Python map() con EJEMPLOS
  10. Función Enumerate() en Python:Bucle, Tupla, Cadena (Ejemplo)
  11. Python List count () con EJEMPLOS