2016-09-12 4 views
-1

Итак, я хочу отсортировать список именованных вариантов, используя сортировку вставки в python, и вот мой код.Сортировка двухмерного списка в python с использованием метода вставки Сортировка

def sortIt(tripods): 
     for i in range(1, len(tripods)): 
      tmp = tripods[i][3] 
      k = i 
      while k > 0 and tmp < tripods[k - 1][3]: 
       tripods[k] = tripods[k - 1] 
       k -= 1 
      tripods[k] = tmp 

Всякий раз, когда он запускается, он дает мне объект TypeError: int, который не является подозрительным. Tripods - это список namedTuples, а индекс 3 namedTuple - это то, что я хочу, чтобы список был упорядочен.

+0

Какой тип объектива имеет треножники [k] = tmp', назначаемые «треногам [k]'? Что произойдет в следующий раз, когда вы исследуете «треноги [k]»? –

+0

Возможный дубликат [Python сортирует список с помощью внешнего ключа] (http://stackoverflow.com/questions/14071988/python-sort-a-list-with-external-key) – Prune

ответ

0
def sortIt(tripods): 
    for i in range(1, len(tripods)): 
     tmp = tripods[i] 
     k = i 
     while k > 0 and tmp[3] < tripods[k - 1][3]: 
      tripods[k] = tripods[k - 1] 
      k -= 1 
     tripods[k] = tmp 

Я изменил ваш код. Вы назначили tripods[i][3] tmp, который является int. Вот почему компилятор предупреждает вас, что int не подлежит обсуждению.

Смежные вопросы