если значения нулевые как мне надо то вроде можно использовать range хотя я не помню уже как. а если нужно заполнить случайными значениями типа random.randint. Количество значений примерно 16 миллионов. Не спрашивайте плз зачем мне это надо. Но надо. Как оптимизировать код чтобы выполнялось максимально быстро. А то если сделать чисто append в цикле то выполняется аж ~16 секунд пиздец как много.

Вообще если максимально быстро, то наверное, только numpy. Если именно на чистом питоне, там тоже можно пооптимизировать, суть в том, чтобы не было цикла на миллионы итераций в питоновом коде (лямбда не прокатит кстати). Например, можно взять random.choices import random x = random.choices(range(1, 11), k=16000000) Если диапазон небольшой, можно развернуть range в лист random.choices(list(range(1, 11)), k=16000000) , ещё немного быстрее Ну или если пойдут значения от 0 до 255, то list(random.randbytes(16000000)) тоже быстро будет
О, ты на скиле. Просвети нам, почему такая разница у этих функций?
random.randint(0, 2**32-1) int.from_bytes(random.randbytes(4))А хз, я во внутренностях питона особо не шарю. Возможно, во втором случае там сразу нативные функции, а в первом ещё какие-то проверки