我的代码中出现类型错误。使用选择排序对特定索引处的值进行排序

TypeError in my code. Using selection sort to sort values at a certain index

我希望我的选择排序对特定列(索引 3)中的值进行排序,但是当我 运行 我的代码时收到此消息。

我收到的错误是:

https://i.stack.imgur.com/dxG2G.png

def selectionSort(lst2):
  size = len(lst2)
  for i in range(size):
    min_idx = i[3]
    for j in range(min_idx + 1, size):
      if lst2[j] < lst2[min_idx]:
        min_idx = j
    lst2[i[3]], lst2[min_idx] = lst2[min_idx], lst2[i[3]]

lst2 = lst
selectionSort(lst2)
print(lst2)

首先,最好 copy/paste 将您的错误文本放入问题中,这样它就立即可见,也可供问题的未来用户搜索。

理解错误信息“'int' object is not subscriptable:”

  • 这里的'int'对象是i
  • [3]是下标,在i[3]
  • 中应用于i
  • 因此,错误告诉您您试图在 i 中找到第 4 个元素,但 i 只是一个整数,没有子元素。