如何按名称然后按分数对文件排序(Python)
嗨,我想知道如何按名称(字母顺序)然后按分数(数字-从高到低)对文件进行排序。如何按名称然后按分数对文件排序(Python),python,Python,嗨,我想知道如何按名称(字母顺序)然后按分数(数字-从高到低)对文件进行排序。 例如,如果一个名字以a(Anna ect)开头,而另一个名字以B(bella)开头,它们将按字母顺序排序,但是如果bella的分数高于Anne,则打印文件时belle将排在Anne之前 使用以下方法首先对名称进行排序,然后对编号进行排序 >>> list = [{'name':'ABC','number':45}] >>> sorted(list, key = lambda d:
例如,如果一个名字以a(Anna ect)开头,而另一个名字以B(bella)开头,它们将按字母顺序排序,但是如果bella的分数高于Anne,则打印文件时belle将排在Anne之前 使用以下方法首先对名称进行排序,然后对编号进行排序
>>> list = [{'name':'ABC','number':45}]
>>> sorted(list, key = lambda d: (d['name'], d['number']))
提示:通过向
排序
的键
命名参数提供函数,您可以指定您喜欢的任何类型的排序逻辑。还请注意,我对您的请求的解释是您的排序是向后的。。。通常,如果你有安娜(得分93分),另一个安娜(得分89分)贝拉(97分),你按名字排序,然后得分,你会得到安娜93分,安娜89分,贝拉97分;你想按分数排序,然后按名字排序,得到Bella 97,Anna 93,Anna 89,大致如下sorted(files,key=lambda file:(file.name,file.score))
另外,听起来你的解释是矛盾的。按名称排序,然后按分数排序或按分数排序,然后按名称排序。。。