Python | Crear una lista de números con rango dado

Dados dos números r1 y r2 (que definen el rango), escribe un programa en Python para crear una lista con el rango dado (inclusive).

Ejemplos:

Input : r1 = -1, r2 = 1
Output : [-1, 0, 1]

Input : r1 = 5, r2 = 9
Output : [5, 6, 7, 8, 9]

Analicemos algunos enfoques para realizar esta tarea.

Enfoque n.º 1: enfoque ingenuo

Un método ingenuo para crear una lista dentro de un rango dado es crear primero una lista vacía y agregar el sucesor de cada entero en cada iteración del ciclo for.

# Python3 Program to Create list 
# with integers within given range 
  
def createList(r1, r2):
  
    # Testing if range r1 and r2 
    # are equal
    if (r1 == r2):
        return r1
  
    else:
  
        # Create empty list
        res = []
  
        # loop to append successors to 
        # list until r2 is reached.
        while(r1 < r2+1 ):
              
            res.append(r1)
            r1 += 1
        return res
      
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
Producción:

[-1, 0, 1]

 
Enfoque #2: Comprensión de listas

También podemos usar la comprensión de listas para este propósito. Simplemente itere ‘elemento’ en un bucle for de r1 a r2 y devuelva todos los ‘elementos’ como una lista. Este será un código simple de una sola línea.

# Python3 Program to Create list 
# with integers within given range 
  
def createList(r1, r2):
    return [item for item in range(r1, r2+1)]
      
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
Producción:

[-1, 0, 1]

 
Enfoque #3: usando Pythonrange()

Python viene con una función directa range()que crea una secuencia de números de valores de inicio a fin e imprime cada elemento en la secuencia. Usamos range()con r1 y r2 y luego convertimos la secuencia en una lista.

# Python3 Program to Create list 
# with integers within given range 
  
def createList(r1, r2):
    return list(range(r1, r2+1))
      
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
Producción:

[-1, 0, 1]

 
Enfoque #4: Usarnumpy.arange()

Python numpy.arange() devuelve una lista con elementos espaciados uniformemente según el intervalo. Aquí establecemos el intervalo en 1 según nuestra necesidad de obtener el resultado deseado.

# Python3 Program to Create list 
# with integers within given range 
import numpy as np
def createList(r1, r2):
    return np.arange(r1, r2+1, 1)
      
# Driver Code
r1, r2 = -1, 1
print(createList(r1, r2))
Producción:

[-1  0  1]

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *