Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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,我有一个叫做分数的列表:[[['test',1],[['t',4],[['egrd',8],[['fds',2],[['dfs',23],[['wtr',0],['reer',1] 我试图按每个元素中的数字对其进行排序,使其成为:[[[['dfs',23]]、[['egrd',8]]、[['t',4]]、[['fds',2].['test',1]]、[['reer',1]]、[['wtr',0]. 我尝试在数组中循环,并根据数字元素将元素添加到新的数组中,如下所示: 对于范围(0,4)内的x:#

我有一个叫做分数的列表:
[[['test',1],[['t',4],[['egrd',8],[['fds',2],[['dfs',23],[['wtr',0],['reer',1]

我试图按每个元素中的数字对其进行排序,使其成为:
[[[['dfs',23]]、[['egrd',8]]、[['t',4]]、[['fds',2].['test',1]]、[['reer',1]]、[['wtr',0].

我尝试在数组中循环,并根据数字元素将元素添加到新的数组中,如下所示:

对于范围(0,4)内的x:#循环多次以确保其已订购
对于范围(0,len(分数)-1)内的i:
尝试:
如果得分[i][0][1]>得分[i+1][0][1]:#将每个元素与其前面的元素进行比较
top_scores.append(scores[i])#追加到新数组
除索引器外:
通过
它返回以下列表:
[['egrd',8]]、[['dfs',23]]、[['egrd',8]]、[['dfs',23]]、[['egrd',8]]、[['dfs',23]]、['egrd',8]]、[['dfs',23]]


非常感谢您的帮助。

使用带有自定义
键的
排序

sorted(scores, key=lambda x: x[0][1], reverse=True)

可以将lambda函数定义为键,以便执行以下操作:

sorted(scores, key=lambda x: x[0][1], reverse=True)

对不起,我说不出话来,但我该把这个放在哪里呢?我把它放在循环的地方了吗?还是我把它放在循环中?只要忘记循环
top_scores=sorted(scores,key=lambda x:x[0][1],reverse=True)
就完成了!它起作用了!非常感谢你@没问题,如果答案有用,请随意接受