字典中的字典,按嵌套键对字典进行排序

杰图里

我想以相反的顺序对我的字典进行排序,按嵌套的字典键 0 排序:

mydict = {
          'key1': {0: 3, 1: ["doc1.txt", "doc2.txt"], 2: ["text1", "text2"]},
          'key2': {0: 8, 1: ["doc6.txt", "doc7.txt"], 2: ["text3", "text4"]},
          'key3': {0: 1, 1: ["doc8.txt", "doc9.txt"], 2: ["text7", "text8"]},
}

有这个命令:

'key3': {0: 1, 1: ['doc8.txt', 'doc9.txt'], 2: ['text7', 'text8']}
'key1': {0: 3, 1: ['doc1.txt', 'doc2.txt'], 2: ['text1', 'text2']}
'key2': {0: 8, 1: ['doc6.txt', 'doc7.txt'], 2: ['text3', 'text4']}

我试过了:

import operator

sorted_dict = sorted(mydict.items(), key=operator.itemgetter(0), reverse=True)

但没有成功。

汤姆·威利

您很接近,但我建议使用一个lambda函数,该函数从字典中为每个项目的索引 1 中提取相关值;

sorted_dict = sorted(mydict.items(), key=lambda x: x[1][0])

将输出打印为我们可以轻松观察订单输出的格式;

for item in sorted_dict:
    print(item)

哪些输出;

('key3', {0: 1, 1: ['doc8.txt', 'doc9.txt'], 2: ['text7', 'text8']})
('key1', {0: 3, 1: ['doc1.txt', 'doc2.txt'], 2: ['text1', 'text2']})
('key2', {0: 8, 1: ['doc6.txt', 'doc7.txt'], 2: ['text3', 'text4']})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章