Windows 7 64 ビットおよび Python 2.7 32 ビットを使用して、Python コンソールで次の出力を取得しました。
>>> a = {}
>>> for k in xrange(1000000): a[k] = k
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
>>> len(a)
21846
>>> a[21846]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 21846
>>> a[21846] = 21846
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
dict に 21846 個を超えるアイテムを追加できないのはなぜですか?
この数値 (2 * 3 * 11 * 331) の具体的な内容は?
注: 私は sys.getsizeof(a) == 393356 よりも多くの RAM を持っています