Я хочу найти оптимальный метод для обработки очень больших упорядоченных списков целых чисел, например.
biglist = [45, 34, 2, 78, 7, 9, 10, 33, 78, 51, 99, 24, 88, ... N] where N > 1m
, чтобы создать несколько небольших списков фиксированной длины S (~ = 200), читая каждый элемент biglistразличные операции над элементом, и, если он соответствует условным критериям, добавьте элемент или значение в каждый небольшой список до достижения S, например.
x_smallist = []
y_smallist = []
z_smallist = []
count = 0
for i in biglist:
b = i / 5
a = b * 2
c = a^3 + b
if b > 7 and b < 69:
x_smallist.append(i)
y_smallist.append(a)
z_smallist.append(b)
count += 1
if count > S:
break
Пример и функция приведены только для иллюстрации.Так как biglist большой, каждый элемент читается и обрабатывается до тех пор, пока не будет достигнут S, а процесс повторяется тысячи раз, я хочу избежать цикла for.Как этого достичь с помощью понимания списка (или карты или фильтра)?