Skip to main content
 首页 » 编程设计

python之根据子列表是否具有指定字符串对包含子列表的列表进行排序

2025年05月04日23mfrbuaa

我想以具有特定字符串(我选择的)的元素(子列表)排在第一位的方式对列表进行排序。我想用 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