AD0DE412Зачем тебе словарь? Я вообще map-объект использую. Словарь все элементы будет хранить в памяти, а map-объект - нет. При использовании map-объекта в памяти будет только последний взятый из него элемент находиться плюс сама структура этого map-объекта, которая хранит в памяти только способ вычисления следующего элемента.
потом переставлямв в каждом куске по словарю
map(int, key)
>>> key = '12345' >>> m = map(int, key) >>> m <map object at 0x7f3354aac940> >>> next(m) 1 >>> next(m) 2 >>> next(m) 3 >>> next(m) 4 >>> next(m) 5 >>> next(m) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration >>>
В данном случае (в случае этого алгоритма шифрования, который он привёл) можно без словаря обойтись, потому что точно известно (задано предусловие), что ключ состоит из индексов букв исходного текста, а не из произвольных символов.