Я сделал скрипт на языке python, который принимает входные данные: имя класса и сохраняет их в массиве, таком как students = [['name', 93.3]]
. Он принимает список нескольких студентов, сортирует их по возрастанию, а затем распечатывает их сортировку. Я новичок в программировании, поэтому я не могу не чувствовать, что есть более простой способ сделать это, или, может быть, я ошибаюсь, и это почти так, как это делается.Было ли необходимым, чтобы я сделал свою собственную функцию сортировки?
def SortList(aList):
myList = list(aList)
secSmallest = []
#sorting
for x in range(len(myList)-1):
for _ in range(len(myList)-1):
if myList[x][1] > myList[x+1][1]:
smaller = myList[x+1][1]
smallerName = myList[x+1][0]
larger = myList[x][1]
largerName = myList[x][0]
myList[x][1] = smaller
myList[x][0] = smallerName
myList[x+1][1] = larger
myList[x+1][0] = largerName
element = x
for _ in range(x):
if myList[element][1] < myList[element-1][1]:
smaller = myList[element][1]
smallerName = myList[element][0]
larger = myList[element-1][1]
largerName = myList[element-1][0]
myList[element][1] = larger
myList[element][0] = largerName
myList[element-1][1] = smaller
myList[element-1][0] = smallerName
element -= 1
else:
break
else:
break
return myList
Как правило, для сортировки пользовательских типов данных создайте 'class', затем реализуйте функцию сравнения, а затем используйте метод' sorted', который будет принимать список этих объектов класса. Или, поскольку это Python, используйте лямбды. –
Самый простой способ сделать это - сортировать (aList) '. Хотя по-прежнему стоит реализовать алгоритм сортировки. Хорошая практика и очень образовательная. – DJMcMayhem