当前位置: 首页 > 面试题库 >

如何在Python中使用自定义谓词排序

舒宏富
2023-03-14
问题内容

我有一个列表列表,例如[[1,2,"s"],[1,5,"e"],...]第3个值始终为se。我sort()该如何调用以使列表基于以下内容进行排序:

  1. 第一个索引
  2. 如果第一个索引相同,则排在第s一位。

谢谢


问题答案:

编写一个自定义key函数。

def sort_key(list_):
    if list_[2] == 's':
        return (list_[0], 0)
    return (list_[0], 1)

test_list = [[1, 2, 's'], [1, 5, 'e'], [2, 4, 'e'], [2, 3, 's']]
test_list.sort(key=sort_key)
# [[1, 2, 's'], [1, 5, 'e'], [2, 3, 's'], [2, 4, 'e']]


 类似资料:
  • 我试图获取一个已排序的<代码>文件[] 数组(对其应用了特定的排序条件),并尝试对具有与第一次排序相似的排序结果的不同对象应用额外的排序(例如,文件大小)。 我编写了以下代码,但不起作用: 基本上,所有我试图做的,是检查哪些文件从共享相同的从给定的BiPredicate,并排序这些文件与排序按,所以结果应该是一个排序数组,用给定的BiPredicate进行初始排序(假设已经排序)-然后使用deaf

  • 问题内容: 我正在为我的第一个应用程序浏览本教程(学习Swift):http : //www.appcoda.com/search-bar-tutorial- ios7/ 我被困在这部分(Objective-C代码): 谁能建议如何在Swift中为NSPredicate创建等效项? 问题答案: 这实际上只是语法切换。好,所以我们有这个方法调用: 在Swift中,构造函数跳过“ blahWith…”

  • 我正在创建一个自定义谓词。它需要一个整数并将其与map的值进行比较。 当我运行程序时,我得到以下错误: 我有点困惑。我需要在服务器上创建谓词吗?我以Hcast客户端运行,客户端正在创建谓词。 据我所知,在创建谓词时,它会作为序列化对象发送到hazelcast服务器。 此外,我还尝试将谓词实现为可序列化的,但没有帮助。谢谢

  • 问题内容: 我使用atocomplete.jquery插件来建议输入文本,结果得到了这个数组: 当我开始搜索从子字符串开始的东西时,它显示出数组排序如下: 我需要这样的东西: 有任何想法吗? 问题答案: 该插件可能区分大小写。尝试输入而不是。您可能将结果设置为不区分大小写。这个问题可能会有所帮助。 对于上的自定义排序函数,您可以使用任何JavaScript函数并将其作为参数传递给的方法,如下所示:

  • 这里有一段代码: 它现在查找具有或日期在之后的的票据。我想改变这个。

  • 问题内容: 我有一个问题:这是由ElementTree库形成的列表列表。 word1..4可能包含Unicode字符,即(â,ü,ç)。 我想按我的自定义字母对列表列表进行排序。 我知道如何从这里按python中的单词对自定义字母进行排序 我也知道如何从此处http://wiki.python.org/moin/HowTo/Sorting按键排序 问题是我找不到如何应用这两种方法对“列表列表”进行