python - 要求澄清使用 sorted lambda 对字典进行排序
问题描述
我要求澄清使用 sorted lambda 对字典进行排序。我参考了这些帖子1 2来使我的代码运行良好,但我有兴趣了解它的实际工作原理。
'Unf': {'idf': 0, 'den': 0.0},
'Ale': {'idf': 3.1179499062782403, 'den': 0.0041841004184100415},
'No ': {'idf': 3.1179499062782403, 'den': 0.008620689655172414},
One': {'idf': 3.1179499062782403, 'den': 0.005319148936170213},
'but': {'idf': 0, 'den': 0.0},
'Bio': {'idf': 0, 'den': 0.0},
'Wen': {'idf': 0, 'den': 0.0},
'Lar': {'idf': 0, 'den': 0.0},
'Ana': {'idf': 0, 'den': 0.0},
'Adv': {'idf': 0, 'den': 0.0}}
这是排序代码
newdict = dict(sorted(values.items(), key=lambda item: (item[1]['idf'], item[1]['den']), reverse=True))
newdict = dict(sorted(values.items(), key=lambda item: (item[1][0], item[1][1]), reverse=True))
item: (item[1]['idf'], item[1]['den']
索引到底[1]
指的是什么?它是指返回的值(我的内部字典)values.items
吗?
如果是这样,如果我将索引更改为,[0]
我会得到字典键吗?此外,如果我要使用它,我将如何进行排序operator.itemgetter
?
非常感谢大家的帮助!
解决方案
结果values.items()
返回一个可迭代的 dict 项目,因此能够在其上使用索引。
参考来自: https ://towardsdatascience.com/sorting-a-dictionary-in-python-4280451e1637
推荐阅读
- c# - Entity Framework 6 中的级联删除无法删除依赖项。有什么建议么
- c# - 尝试卸载应用程序但出现错误
- html - 在 Hugo 中控制图像的宽度、高度和位置
- c# - 什么 C# Datagridview 事件将在操作后立即更新列
- ios - 试图了解 iOS 中后台线程行为的幕后情况
- reactjs - 在 createBottomTabNavigator react-navigation 中有条件地渲染路由
- java - 有没有办法让对象 A 表现得像对象 B?
- sql-server - 使用 Entity Framework Core 和 MS SQL 按公里过滤几何(Lat、Lng)距离
- python - 如何在 SELENIUM Python3 上找到并单击“卖东西”按钮(按照我的代码)
- cryptography - 如何确保与移动传感器数据的交易在去中心化应用程序中是真实的