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

Тут же не было никаких уточнений. Быстрей всего единоразово ассеты нагенерить и их сохранить и при работе скрипта их загружать. А можно на си зафигачить генерацию и из пайтона сишную либу/бинарник пинать. Можно многопоточно сделать, а можно генераторами. Много вариантов, как это можно реализовать. ТС спросил - самый ленивый вариант - 3сек. Дальше или его не устраивает или устраивает. Скорей всего устраивает - потому что ТС слился
А тебе лайк, что углубился в это всё. Однозначно лайк!
А так-то: https://snipboard.io/w6qHnO.jpg