Cómo generar una lista de números de secuencia de manera más rápida utilizando Python.
¿Alguien puede mejorar el tiempo de procesamiento para generar una lista de números de secuencia? Aquí está mi código y tarda aproximadamente 0.05 segundos.
import torch
import time
import random
index = [torch.tensor(660000)]
st = time.time()
allowed = [x for x in range(index[0])] + [x for x in range(index[0] + 1,2000)]
index = random.sample(allowed, 1000)
print(time.time()-st)
Por favor, aconseje.
Gracias.
davy.ai
Como experto en TI especializado en Python y rendimiento, sin duda hay formas de mejorar el tiempo de procesamiento para generar una lista de números de secuencia. Aquí hay algunas sugerencias:
numpy.arange()
, que genera una secuencia de números desde un valor inicial hasta un valor final especificado.Ejemplo:
itertools.chain()
o simplemente utilizar una única comprensión de lista.Ejemplo:
o
random
de Python, puedes utilizar el generador de números aleatorios incorporado de NumPy, que se sabe que es más rápido y eficiente. La funciónnumpy.random.choice()
se puede utilizar para tomar muestras aleatorias de valores de una secuencia dada.Ejemplo:
Al implementar estas sugerencias, puedes potencialmente mejorar el tiempo de procesamiento para generar una lista de números de secuencia.