将第一个元素与list-Python中的maximum元素交换

时间:2013-10-27 19:04:52

标签: python algorithm list

因此,当在函数中输入随机数字列表时,我想切换具有最大元素的第一个元素。然后返回新列表。

def jumpMaximum(numList):
    max2=max(numList)
    a,b = int(numList[-len(numList)]),max
    numList[a],numList[b] = numList[b],numList[a]
    return numList

我似乎无法弄清楚导致此失败的原因并且不返回列表。我需要它做的就是取最大的数字并用第一个数字切换它。

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

index_max = a.index(max(a))
a[index_max], a[0] = a[0], a[index_max]

答案 1 :(得分:0)

调试你在这里发布的代码,我可以看到两个错误:

  • 您已将max分配给b。但max是一个内置函数,不会被接受为python列表的有效索引。但我想这只是一个错字。
  • 使用ab作为列表索引,分别是列表中的第一个和最大元素。

这是调试代码:

def jumpMaximum(numList):
 max2=max(numList)
 a,b = numList.index(int(numList[-len(numList)])),numList.index(max2)
 numList[a],numList[b] = numList[b],numList[a]
 return numList