есть список data, в котором содержится примерно 100 миллионов элементов (не спрашивайте). Элементы списка - байты, например - b'\x00', b'\xac' и т.д. Сам список занимает в оперативной памяти около 600Мб. Проблема заключается в том, что мне нужно данный список переконвертировать в строку, но когда я использую data = b''.join(data) - все 6Гб оперативки и 10Гб свопа моментально забиваются и система зависает. Использовать цикл for не вариант - это очень медленно. Есть идеи, почему так происходит и как это решить? Заранее благодарен.
s = b'' for i in list: s += i Только все равно строка отожрет много в конечном итоге
А джойн быстрее?
ну в конце концов можно кусками джойнить
а зачем тебе строка?
Обсуждают сегодня