pickleを使用してファイルにデータを保存しようとしています。 マイスタートリストの形式は次のとおりです。サブリストからのみの最初と最後の数字を残した後可能な限り軽いファイルを保存する方法
a1 = [[190, 187, 27, 24, 4, 1, 0, 2, 6, 9, 60, 62], [190, 187, 27, 24, 4, 1, 0, 2, 6, 9, 61, 65], [190, 187, 27, 24, 4, 1, 0, 2, 6, 9, 60, 63], [190, 187, 27, 24, 4, 1, 0, 2, 6, 9, 61, 65], [190, 187, 27, 24, 4, 1, 0, 2, 6, 8, 48, 50], [190, 187, 27, 24, 4, 1, 0, 2, 6, 9, 61, 64], [190, 187, 27, 24, 4, 1, 0, 2, 6, 8, 48, 51]]
:
a2 = [[190, 62], [190, 65], [190, 63], [190, 65], [190, 50], [190, 64], [190, 51]]
そして、私のベース32符号化後:
a3 = [['5x', '1x'], ['5x', '21'], ['5x', '1c'], ['5x', '21'], ['5x', '1o'], ['5x', '20'], ['5x', '1p']]
リスト 'a1'のファイルは224バイト、リスト 'a2'は84バイト、リスト 'a3'は182バイトです。 'a3'リストのファイルが 'a2'リストのファイルよりも大きいのはなぜですか?引用符はファイルを拡大しますか? たとえば、「5x」は「190」未満になり、同時にファイル全体の重量が減少すると思われました。そのようなデータをファイルに保存するための他のより効果的な方法はありますか?
引用符は文字列リテラルを示します。あなたは文字列を格納しています。 '190'は整数であり、おそらく32ビットを使用します。 "190"はおそらく32ビット、1文字あたり8ビット、ヌルターミネータも使用する文字列です。これらはおおまかな見積もりですが、他の人がより良い参照で回答できるはずです。 –