Любое решение, которое я могу себе представить, кроме введения с нуля, использует индексы, или дикт, или что-то еще, что действительно не способно спасти вашу память.В любом случае, использование zip
только увеличит использование памяти на постоянный коэффициент, поэтому стоит убедиться, что это действительно проблема перед решением.
Если возникает проблема, возможно, существуют более эффективные решения.Поскольку элементы foo
и bar
так тесно связаны, вы уверены, что их правильное представление не является списком кортежей?Вы уверены, что они не должны быть в более компактной структуре данных, если у вас не хватает памяти, такой как пустой массив или база данных (последняя из которых действительно хороша для такого рода манипуляций)?
(Также, кстати, itertools.izip
может сэкономить вам немного памяти по сравнению с zip
, хотя в результате сортировки вы все равно получите полный сжатый список в виде списка.)