我试图创建一个返回数组最大元素的函数,我觉得我有正确的代码,但我的语法顺序错误,我试图使用for/while循环来实现这一点。到目前为止,我有以下情况:
def manindex(arg):
ans = 0
while True:
for i in range (len(arg)):
if arg[i] > arg[ans]:
pass
ans = i
return ans
不知道我哪里出错了,如果有人能提供一些指导,谢谢
编辑:所以它指出我造成了一个无限循环,所以如果我去掉剩下的while语句
^{pr2}$
但我觉得还是不对
Tags:
当你说array我想你的意思是Python中的list时,根本不需要for/loop或while/loop来实现这一点。在
也可以将索引与max一起使用,如下所示:
样品:
^{pr2}$找到最大索引的思想始终是一样的,迭代数组的元素,与我们现在的最大值比较,如果更好,当前元素的索引现在是最大值,如果不是,我们继续寻找。在
enumerate方法:
功能方法:
^{pr2}$函数式方法使用reduce函数,它接受两个元素,并决定什么是还原。这些元素是元组(index,element),它们是enumerate函数的结果。在
在lambda主体上定义的reduce函数接受两个元素并返回最大的元组。由于reduce函数减少到只遇到结果中的一个元素,
champion
是包含最大和最大元素索引的元组,因此我们只需要访问元组的0索引就可以得到元素。在另一方面,如果列表为空,则不返回任何对象,这是在reduce函数的第三个参数上授予的。在
您可以使用
max
,并将key
参数设置为seq.__getitem__
:收益率
^{pr2}$相关问题 更多 >
编程相关推荐