нормально плохо попытаться упростить это:достигающие значения в словаре внутри словаре питона 2,7
первый вопрос: является словарем словарей считается более подходящим, чем список словарей?
2-й вопрос: Я изо всех сил стараюсь достичь второго уровня моих словарей, чтобы распечатать их в правильном порядке.
Я знаю, что dicts не заказываются, но мне удалось получить лямбда, чтобы заказать первый словарь, чтобы распечатать заметки 1-10.
Теперь мне нужно получить второй уровень для печати в том порядке, в котором они написаны (ID & ИМЯ перед СОДЕРЖАНИЕМ).
Любая помощь, чтобы получить контроль над этим была бы оценена;)
annotations = {}
index = 1
for i in range(10):
annotations['Annotation #: '+str(i+1)+" --->>"] = {
'ID' : index,
'NAME:' : 'Tag Name',
'CONTENT:' : 'Note Content: This space will have a lot of text',
'URL:' : 'ref address',
'URL Info:' : 'url info',
}
index += 1
for key, values in sorted(annotations.items(), key=lambda x: x[1]):
print "\n"+key
for k, v in sorted(values.items(), key = lambda item: item[1]):
print k, v
выходы:
Annotation #: 1 --->>
ID 1
CONTENT: Note Content: This space will have a lot of text
NAME: Tag Name
URL: ref address
URL Info: url info
#....... etc.. to:
Annotation #: 10 --->>
ID 10
CONTENT: Note Content: This space will have a lot of text
NAME: Tag Name
URL: ref address
URL Info: url info
Я не уверен, что вы пытаетесь выполнить. Просьба уточнить – Bharel
@Bharel извинения Я попытался немного убрать вопрос (ы). Было уже поздно, и я некоторое время бил головой об этом. В основном я хочу, чтобы иметь возможность печатать k, v в правильном порядке .. или отдельно пару по паре.Имеет ли это смысл? спасибо – dflamholc
Что такое «правильный» заказ здесь? В настоящее время вы используете значения каждого словаря, которые дают довольно произвольный порядок (который случайно выглядит с вашими данными только случайно). Я подозреваю, что список объектов 'namedtuple' был бы намного более естественным для того, что вы делаете. – Blckknght