我有一个清单
mylist = [['123', 'BOOL', '234'], ['345', 'INT', '456'], ['567', 'DINT', '678']]
我想按照1的顺序排序。DINT
2. INT
3. BOOL
Result:
[['567', 'DINT', '678'], ['345', 'INT', '456'], ['123', 'BOOL', '234']]
我在 stackoverflow 中看到过其他类似的问题,但没有任何类似或容易适用于我。
SORT_ORDER = {"DINT": 0, "INT": 1, "BOOL": 2}
mylist.sort(key=lambda val: SORT_ORDER[val[1]])
我们在这里所做的就是通过为列表中的每个元素而不是整个列表返回一个整数来提供一个新元素进行排序。我们could使用内联三元表达式,但这会变得有点笨拙。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)