我想以具有特定字符串(我选择的)的元素(子列表)排在第一位的方式对列表进行排序。我想用 Python 的 sort() 方法中的 key 参数来做到这一点。
例如,如果我有
输入
l1 = [["你好", 1, 65, 331],["再见", 653, 43, 9], ["例子", 22, 123, 92]]
我想使用 l1.sort() 以某种方式对列表进行排序,给定“example”作为参数,对列表进行如下排序:
输出
[[“示例”,22、123、92],[“你好”,1、65、331],[“再见”,653、43、9]]。
这可能吗?
请您参考如下方法:
假设你希望goodbye 先来,你可以这样做:
l1 = [["hello", 1, 65, 331],["goodbye", 653, 43, 9], ["example", 22, 123, 92]]
s = 'goodbye'
sorted(l1, key=lambda x: x[0]!=s)
# [['goodbye', 653, 43, 9], ['hello', 1, 65, 331], ['example', 22, 123, 92]]
有关上述工作原理的详细说明,请查看其他 answer
