У меня возникают проблемы с использованием класса collections.OrderedDict
. Я использую Python 2.7 на Raspbian, дистрибутив Debian для малины Pi. Я пытаюсь напечатать два словаря для сравнения (бок о бок) для текстового приключения. Порядок очень важен для сравнения.
Независимо от того, что я пробовал, словари печатаются обычным неупорядоченным способом.
Вот что я получаю, когда я делаю это на своем RPi:
import collections
ship = {"NAME": "Albatross",
"HP":50,
"BLASTERS":13,
"THRUSTERS":18,
"PRICE":250}
ship = collections.OrderedDict(ship)
print ship
# OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
Очевидно, что есть что-то не так, потому что он печатает вызов функции и кладет ключи и группы значений во вложенный список...
Это то, что я получил, запустив что-то подобное на моем ПК:
import collections
Joe = {"Age": 28, "Race": "Latino", "Job": "Nurse"}
Bob = {"Age": 25, "Race": "White", "Job": "Mechanic", "Random": "stuff"}
#Just for clarity:
Joe = collections.OrderedDict(Joe)
Bob = collections.OrderedDict(Bob)
print Joe
# OrderedDict([('Age', 28), ('Race', 'Latino'), ('Job', 'Nurse')])
print Bob
# OrderedDict([('Age', 25), ('Race', 'White'), ('Job', 'Mechanic'), ('Random', 'stuff')])
На этот раз все в порядке, но не нужно печатать другие вещи, правда? (Ввод его в список и отображение вызова функции.)
Где я делаю свою ошибку? Это не должно быть ничего общего с pi-версией Python, потому что это просто версия Linux.