Использование OrderedDict в Jython

Я пытаюсь использовать OrderedDict в Jython. Когда я пишу это на Python, все работает нормально; однако, когда я пробую тот же код с Jython, он выдает ошибку Java (я также сказал, что модуль коллекций не имеет атрибута OrderedDict). Ошибка модуля была следующая:

ERROR: Exception (main): 'module' object has no attribute 'OrderedDict'

Итак, что я пытаюсь сделать, это вывести значения словаря в том же порядке, в котором они были введены. Я хочу создать следующую функциональность (написанную на Python) в Jython:

import collections

example = collections.OrderedDict()

example["c"] = 3
example["b"] = 4
example["d"] = 3
example["e"] = 9
example["a"] = 7

for key, value in example.iteritems():
    print key + ": " + str(value)

Это приведет к:

c: 3
b: 4
d: 3
e: 9
a: 7

Теперь я ПРЕДПОЛАГАЮ, что причина, по которой это не работает для меня в Jython, заключается в том, что в нем не существует OrderedDict. С учетом сказанного, есть ли способ сделать это в Jython? Может быть, для этого требуется код Java?

РЕДАКТИРОВАТЬ:

Я нашел способ сделать это, используя список и кортежи, например:

example = []

example.append(("c", 3))
example.append(("b", 4))
example.append(("d", 3))
example.append(("e", 9))
example.append(("a", 7))

for tup in example:
    key, value = tup
    print key + ": " + str(value)

Хотя это работает, я все же хотел бы знать, как это сделать со словарем.


person user2869231    schedule 10.02.2015    source источник
comment
Ваш вопрос должен включать ошибку, которую вы видели. Я предполагаю, что вы видели что-то вроде этого: AttributeError: 'module' object has no attribute 'OrderedDict'   -  person davidrmcharles    schedule 10.02.2015
comment
правильно, извините - добавил это   -  person user2869231    schedule 10.02.2015


Ответы (1)


Если вам нужен collections.OrderedDict, вы должны использовать Jython версии 2.7 или более поздней, поскольку collections.OrderedDict не был введен в Python до версии 2.7.

person davidrmcharles    schedule 10.02.2015
comment
хм. Ну, я использую Sikuli (использует Jython), и судя по всему качает jython-2.1.......... - person user2869231; 10.02.2015