Меня попросили создать инвертированный индекс и сохранить его двоичный файл несколькими способами (со сжатием и без).
Короче говоря, я заметил, что использование представления dict
занимает намного меньше места на диске, чем преобразование в list
.
Пример:
dic = {
'w1': [1,2,3,4,5,6],
'w2': [2,3,4,5,6],
'w3': [3,4,5,6],
'w4': [4,5,6]
}
dic_list = list(dic.items())
import pickle
with open('dic.pickle', 'wb') as handle:
pickle.dump(dic, handle, protocol=pickle.HIGHEST_PROTOCOL)
with open('dic_list.pickle', 'wb') as handle:
pickle.dump(dic_list, handle, protocol=pickle.HIGHEST_PROTOCOL)
Если вы проверите оба размера файлов, вы заметите разницу.
Итак, я хочу знать, как и почему они отличаются. Любая дополнительная информация будет высоко ценится