Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何按名称然后按分数对文件排序(Python)_Python - Fatal编程技术网

如何按名称然后按分数对文件排序(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))
另外,听起来你的解释是矛盾的。按名称排序,然后按分数排序或按分数排序,然后按名称排序。。。