Je viens d'obtenir la sortie suivante dans la console Python en utilisant Windows 7 64 bits et Python 2.7 32 bits :
>>> a = {}
>>> for k in xrange(1000000): a[k] = k
...
Traceback (most recent call last):
File "", line 1, in
MemoryError
>>> len(a)
21846
>>> a[21846]
Traceback (most recent call last):
File "", line 1, in
KeyError: 21846
>>> a[21846] = 21846
Traceback (most recent call last):
File "", line 1, in
MemoryError
Pourquoi je ne peux pas ajouter plus de 21846 éléments dans le dictionnaire ?
Qu'est-ce qui est spécifique à ce nombre (2 * 3 * 11 * 331) ?
Remarque : J'ai beaucoup plus de RAM que sys.getsizeof(a) == 393356