Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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 如何用两个键对lambda进行排序?_Python_Map_Lambda_Sorted - Fatal编程技术网

Python 如何用两个键对lambda进行排序?

Python 如何用两个键对lambda进行排序?,python,map,lambda,sorted,Python,Map,Lambda,Sorted,我很抱歉用这个 ThreadList.append([''.join(map(str,[Thread])), date, rrf[5]]) SendThreadList = '' ThreadList = sorted(ThreadList, key=lambda Entry: Entry[1], reverse=True) ThreadList = sorted(ThreadList, key=lambda Entry: Entry[2], reverse=True) sorted仅显示

我很抱歉用这个

ThreadList.append([''.join(map(str,[Thread])), date, rrf[5]])

SendThreadList = ''

ThreadList = sorted(ThreadList, key=lambda Entry: Entry[1], reverse=True)
ThreadList = sorted(ThreadList, key=lambda Entry: Entry[2], reverse=True)

sorted仅显示第二个已排序,如何使用键中的两个条目进行排序???

如果要按条目[1]排序,则按条目[2]排序,然后将lambda作为元组返回…:

ThreadList = sorted(ThreadList, key=lambda Entry: (Entry[1], Entry[2]), reverse=True)

有时更具可读性(并且可能更快)的是使用
操作符
模块并使用
key=operator.itemgetter(1,2)
如果您想按条目[1]排序,那么条目[2],然后将lambda作为元组返回…:

ThreadList = sorted(ThreadList, key=lambda Entry: (Entry[1], Entry[2]), reverse=True)

有时更具可读性(并且可能稍微快一点)的方法是使用
操作符
模块并使用
key=operator.itemgetter(1,2)
虽然这样做是错误的,但如果您交换顺序,您的示例将起作用:

ThreadList = sorted(ThreadList, key=lambda Entry: Entry[2], reverse=True)
ThreadList = sorted(ThreadList, key=lambda Entry: Entry[1], reverse=True)

Python排序是稳定的-如果两个条目在
[1]
上匹配,它们将保持第一个排序的顺序。

虽然这样做是错误的,但如果您交换顺序,您的示例将起作用:

ThreadList = sorted(ThreadList, key=lambda Entry: Entry[2], reverse=True)
ThreadList = sorted(ThreadList, key=lambda Entry: Entry[1], reverse=True)

Python排序是稳定的-如果两个条目在
[1]
上匹配,它们将保持第一个排序的顺序。

对不起,我的英语不好,我是巴西人,你想用
''实现什么。join(map(str,[Thread])
?应用
map
,我得到了
'.join([str(Thread)])
当然就是
str(Thread)
对不起,我的英语不好,我是巴西人,你想用
''实现什么。join(map(str,[Thread])
?应用
map
,我得到了
'.join([str(Thread)])
,这当然就是
str(Thread)
@GeorgeSet。抱歉-我不明白-你能试着重新措辞吗?ThreadList=sorted(ThreadList,key=lambda Entry:(Entry[1],Entry[2]),reverse=True)@GeorgeSet。我没有得到的是“检查条目[2]是否为1”?@GeorgeSet。“是的,但作为一个新问题,结合一些你想要达到的目标,可能会更好一些。”乔治赛特。抱歉-我不明白-你能试着重新措辞吗?ThreadList=sorted(ThreadList,key=lambda Entry:(Entry[1],Entry[2]),reverse=True)@GeorgeSet。我没有得到的是“检查条目[2]是否为1”?@GeorgeSet。是的,但是作为一个新的问题,结合一些你想要达到的目标,可能会更好。