在python中搜索嵌套列表最有效的方法是什么?
假设我有一个嵌套循环,其中我用名字列出了一个学生的特定主题的结果 比如: 例如,假设我们有如下列表:在python中搜索嵌套列表最有效的方法是什么?,python,list,search,nested-lists,Python,List,Search,Nested Lists,假设我有一个嵌套循环,其中我用名字列出了一个学生的特定主题的结果 比如: 例如,假设我们有如下列表: records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]] 所以这里我想用name打印最大值? 我仍然是python的高手,所以如果你能用简单的方式解释,那就太好了。 提前感谢有多种方法可以做到这一点。 其中一种方法是使用内置函数查找其参数的最大值。在本例中是一个数组。因为我们想要得到分数的最大值,所以我们需要从数组中得到整数。我们可以通过指定
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
所以这里我想用name打印最大值?
我仍然是python的高手,所以如果你能用简单的方式解释,那就太好了。
提前感谢有多种方法可以做到这一点。 其中一种方法是使用内置函数查找其参数的最大值。在本例中是一个数组。因为我们想要得到分数的最大值,所以我们需要从数组中得到整数。我们可以通过指定一个键函数来实现这一点 我们可以用一个 像这样
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
print(max(records, key=lambda x: x[1]))
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
def getScore(x):
return x[1]
print(max(records,key=getScore))
或者我们可以使用这样定义的
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
print(max(records, key=lambda x: x[1]))
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
def getScore(x):
return x[1]
print(max(records,key=getScore))
有一种更简单或更容易理解的方法。使用库及其函数item getter
import operator
records = [['a', 67], ['b', 64], ['c', 63], ['d', 59]]
print(max(records,key=operator.itemgetter(1)))
max(records,key=lambda x:x[1])
?别忘了操作符。itemgetter
:)嗯,我不知道。更新我的答案,将其包括在内:D谢谢@revliscanoy什么意思?分数?我是说分数,忘了我在主帖子中写了分数对不起打印(max(记录,key=lambda x:x[1])[0])
像这样?