我想得到一个有两个约束的字典的倒序。首先,我根据值进行排序:
>>> d = {'I C': (2, 4), 'B I C': (2, 6), 'B I': (2, 6)}
>>> sortd = sorted(d.items(), key=lambda v: v[1], reverse=True) (1)
>>> sortd
[('B I', (2, 6)), ('B I C', (2, 6)), ('I C', (2, 4))]
第二,对于值相同的项,我想得到前面键最长的那个。在前面的例子中,我希望得到这样的结果:
^{pr2}$可以直接在我的sorted()
命令(1)中执行吗?在
在排序函数中包括键的长度:
输出:
^{pr2}$因此,每个项目都在元组
(value, len(key))
上排序;长度较短的项目在较长的长度之后进行反向排序,但前提是元组的第一个元素相同。在相关问题 更多 >
编程相关推荐