我想根据最后两列对元组列表进行排序:
mylist = [(33, 36, 84),
(34, 37, 656),
(23, 38, 42)]
Run Code Online (Sandbox Code Playgroud)
我知道我可以这样做:
final = sorted(mylist, key:lambda x: [ x[1], x[2]])
Run Code Online (Sandbox Code Playgroud)
现在我的问题是我想要将列表的第二列与特殊条件进行比较:如果两个数字之间的差异小于偏移量,则应将它们视为相等(36 == 37 == 38)和第三列应该用于对列表进行排序.我希望看到的最终结果是:
mylist = [(23, 38, 42)
(33, 36, 84),
(34, 37, 656)]
Run Code Online (Sandbox Code Playgroud)
我在考虑创建自己的整数类型并覆盖等于运算符.这可能吗?这有点难过吗?有没有更好的方法来解决这个问题?