python - -x 在 sorted 函数的键中是什么意思?
问题描述
我需要先按值排序字典然后按键,我上网发现了这个>>按值排序字典然后按键<< 有人回答说“你需要利用值是数字的事实。” 并留下了代码
>>> [v[0] for v in sorted(d.iteritems(), key=lambda(k, v): (-v, k))]
['peach', 'banana', 'beetroot', 'almond', 'apple']
-v 是什么意思?v 和 -v 有什么区别?
解决方案
x.items()
变成Counter(...)
一个元组列表:[('a', 5), ('b', 3), ('c': 7)]
. 该key
参数表示应该使用什么值对列表进行排序——并k[1]
指向k
元组的第二个元素。
并且因为键实际上是-k[1]
,所以结果列表以相反的顺序排序,从计数最大的项目到计数最低的项目。
推荐阅读
- r - 将包含某个单词的字符串替换为该单词
- php - 如果使用 ftp_put 上传到远程服务器,则保留文件修改的时间戳
- python-3.x - 尝试/除外,返回尝试
- php - PHP脚本运行一次,即使在两台机器上
- c++ - 帮助一些代码:初始化变量
- list - 从 PYTHON 中的对齐文件类型创建所有序列的成对组合的函数
- sharepoint - 有没有办法始终指向共享点文件夹中的最新版本?
- java - OutputStreamManager.write 上的 Log4j2 线程阻塞
- scala - 有没有办法使用类似映射的语法在 Scala 的非映射代码块中设置变量?
- python - Plotly 不渲染 Choropleth Mapbox 多边形