Существует ли структура данных Python, которая является ключом, упорядоченной и адресуемой через ключ и порядок? - PullRequest
3 голосов
/ 19 апреля 2011

Я ищу структуру данных, которая представляет собой сочетание OrderedDict, но также адресуется через целое число, в зависимости от того, когда был добавлен элемент.

т.е.

config_key = OrderedDict([('Version_Number', 'a'),
                ('Hardware_Config', 'b'),
                ('Size_Of_Data', 'c'),
                ('Checksum', 'd')])

Это будет работатькак:

>> print config_key['Version_Number']
a
>> print config_key[0]
a
>> print config_key['Size_Of_Data']
c
>> print config_key[2]
c
>> for x in config_key:
>>  print x
Version_Number
Hardware_Config
Size_Of_Data
Checksum

Есть идеи?

1 Ответ

7 голосов
/ 19 апреля 2011

Если вы используете Python 2.7+, то есть один встроенный.

http://docs.python.org/library/collections.html#collections.OrderedDict

edit: Таким образом, похоже, что порядок элементов поддерживаетсяс помощью всплывающих операций, но вы можете сделать эквивалент того, что вы хотите, с помощью list(my_ordered_dict)[i], где i - это целое число.Извините за все эти ошибки, я просто набрал его очень быстро, чтобы дать вам представление о том, что делать.)

  • исправлены возвращаемые значения вместо ключа
  • исправлена ​​ошибка рекурсии
  • переключил доступ списка к синтаксису [], так как, будучи списком, это имеет больше смысла.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...