Пред объявленный лимит размера словаря? - PullRequest
0 голосов
/ 16 сентября 2010

У меня большой словарь, на который я постоянно ссылаюсь в своем коде, поэтому он инициализируется вверху:

import ...

myDictionary = {'a':'avalue','b':'bvalue',...}

code ...

Но когда я пытаюсь получить значения, некоторые ключи не найдены. Похоже, что Python режет мой словарь из-за ограничения размера. Я пытался найти в Google, но ничего не нашел по этому вопросу.

В итоге я выбросил сопоставления ключ: значение в отдельный файл и написал функцию, которая создаст словарь путем чтения из файла.

Было бы неплохо узнать, почему это происходит ... еще лучше найти более чистый способ сохранить мой словарь.

РЕДАКТИРОВАТЬ: словарь имеет более 1700 ключей

Ответы [ 2 ]

4 голосов
/ 16 сентября 2010

Одна вещь, которую вы можете искать, это то, что ключи в вашем словаре не являются дубликатами.Например, в следующем коде:

>>> d = {'1': 'hello', '2': 'world', '1': 'new'}
>>> d
{'1': 'new', '2': 'world'}
>>> 

, поскольку я дважды использовал ключ '1', появился только последний, и поэтому у меня остался словарь размера 2, а не 3.

2 голосов
/ 16 сентября 2010

Python не имеет ограничения по размеру словаря. У меня были словари с более чем 1 миллионом ключей. Не могли бы вы опубликовать больше кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...