打印已排序的字典键以及已排序的值

时间:2017-04-02 04:18:45

标签: python dictionary

我正在根据特定值对字典进行排序,该值是列表中的第3个元素(在值中),使用:

print sorted(dict.keys(), key=lambda k: dict[k][2], reverse=True)[:3]

如何显示这些排序值对应的键?

谢谢你的期待。

2 个答案:

答案 0 :(得分:2)

使用items代替keys

print(sorted(dict.items(), key=lambda item: item[1][2], reverse=True)[:3])

或保存已排序的密钥,并使用它来获取项目:

keys = sorted(dict, key=lambda key: dict[k][2], reverse=True)[:3]
items = [(key, dict[key]) for key in keys]
print(items)

如果你想要了解价值:

keys = sorted(dict, key=lambda k: dict[k][2], reverse=True)[:3]
values = [dict[key] for key in keys]
顺便说一句,不要使用dict作为变量名;它遮蔽了内置函数/类型dict

答案 1 :(得分:0)

您可以保存已排序的列表并以您想要的格式打印。

2017-04-02T04:21:13.226793+00:00 app[web.1]: [2017-04-02 04:21:13] myapp.INFO: [api.download] find not found /app/abc.txt [] []