rre*_*ase 0 python sorting lambda key
original = ["aga", "aaa", "aba"]
dict = {
"aba": 1,
"aaa": 0,
"aga": 1
}
Run Code Online (Sandbox Code Playgroud)
我需要按dict值排序,并且断路器需要保持原始顺序,我该怎么做?示例非常简化.
我试过了:
final = sorted(sorted(original, key=lambda x: (dict[x]), key=original.index))
Run Code Online (Sandbox Code Playgroud)
只需根据字典中的值对它们进行排序.原始订单将保留为关系:
final = sorted(original, key=dct.get)
print final
# ['aaa', 'aga', 'aba']
Run Code Online (Sandbox Code Playgroud)
Timsort - Python的标准排序算法 -稳定 ; 比较相等的项目保留其相对顺序.
另外请注意,不要使用类似名称dict或list避免在以后的代码中使内置函数无法使用.
| 归档时间: |
|
| 查看次数: |
1412 次 |
| 最近记录: |