Я хочу иметь параметр в функции, который бы определял, сортировать ли по возрастанию или по убыванию. Чтобы изменить порядок, мне просто нужно изменить ключ myList [i]> на ключ myList [i] <. Мне было интересно, есть ли в Python более чистый путь, чем использование if / else и повторение кода цикла while? Я ищу что-то вроде назначения оператора переменной, такой как "order = <", если это имеет смысл </p>
# ascending
def insertionSort(myList, order):
# myList is an unsorted list of only int
# order determines whether to sort in ascending or descending
# returns sorted list
for index, key in enumerate(myList):
i = index - 1
while i > -1 and myList[i] > key:
myList[i+1] = myList[i]
i -= 1
myList[i+1] = key
return myList