Это работает для меня.
jQuery("#form_name").validate().settings.ignore = "";
Сначала вы создаете словарь , а затем передаете этот словарь в OrderedDict
. Когда вы это сделаете, заказ уже не будет правильным. dict
по своей сути не упорядочен.
Вместо этого переходите к последовательности наборов:
ship = [("NAME", "Albatross"),
("HP", 50),
("BLASTERS", 13),
("THRUSTERS", 18),
("PRICE", 250)]
ship = collections.OrderedDict(ship)
Что вы видите, когда вы печатаете OrderedDict
, это представление , и это совершенно правильно. OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
просто показывает вам в воспроизводимом представлении то, что содержимое имеет OrderedDict
.
Если вы не можете редактировать эту часть кода, где был определен ваш dict, вы все равно можете заказать его в любой момент, как хотите:
from collections import OrderedDict
order_of_keys = ["key1", "key2", "key3", "key4", "key5"]
list_of_tuples = [(key, your_dict[key]) for key in order_of_keys]
your_dict = OrderedDict(list_of_tuples)
В большинстве случаев мы отправляемся на OrderedDict, когда нам нужен пользовательский заказ, а не общий, например ASC и т. д.
Вот предлагаемое решение:
import collections
ship = {"NAME": "Albatross",
"HP":50,
"BLASTERS":13,
"THRUSTERS":18,
"PRICE":250}
ship = collections.OrderedDict(ship)
print ship
new_dict = collections.OrderedDict()
new_dict["NAME"]=ship["NAME"]
new_dict["HP"]=ship["HP"]
new_dict["BLASTERS"]=ship["BLASTERS"]
new_dict["THRUSTERS"]=ship["THRUSTERS"]
new_dict["PRICE"]=ship["PRICE"]
print new_dict
Это будет be output:
OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
OrderedDict([('NAME', 'Albatross'), ('HP', 50), ('BLASTERS', 13), ('THRUSTERS', 18), ('PRICE', 250)])
Примечание. Новые отсортированные словари сохраняют порядок сортировки при удалении записей. Но когда новые ключи добавляются, ключи добавляются до конца и сортировка не поддерживается. [ официальный doc )
print ship
?? Благодаря :) – pythonpiboy 29 March 2013 в 23:45ship
будет печатать значение, на которое оно ссылается, поэтому оно напечатает представлениеOrderedDict
. – Martijn Pieters♦ 29 March 2013 в 23:49OrderedDict
создан создан i>, он является i> словарем. – Martijn Pieters♦ 30 March 2013 в 00:39