Я новичок в Python, и у меня есть вопрос. Мне сказали спросить об этом отдельно от другого поста, который я сделал для той же программы. Это домашнее задание, так что я просто хотел бы получить некоторые рекомендации. У меня есть список кортежей, и я хочу отсортировать его по tuple [0] и вернуть полный кортеж для печати на экране. Кортежи состоят из (партитура, отметки (х или о), индекс)Python 3 Сортировка списка кортежей?
Вот мой основной код (часть Tic Tac Toe игра-у меня есть полный код в другом посте) :::
listOfScores = miniMax(gameBoard)
best = max(listOfScores, key=lambda x: x[0])
if best[0] == 0:
print("You should mark " + best[1] + " in cell " + best[2] + ".")
print("This will lead to a tie.")
elif best[0] > 0:
print("You should mark " + best[1] + " in cell " + best[2] + ".")
print("This will lead to a win.")
else:
print("You should mark " + best[1] + " in cell " + best[2] + ".")
print("This will lead to a loss.")
Я получаю эту ошибку :::
Traceback (most recent call last):
File "C:\Users\Abby\Desktop\CS 3610\hw2\hw2Copy.py", line 134, in <module>
main()
File "C:\Users\Abby\Desktop\CS 3610\hw2\hw2Copy.py", line 120, in main
best = max(listOfScores, key=lambda x: x[0])
TypeError: unorderable types: list() > int()
я не уверен, почему это происходит. Это мой первый раз, пытаясь использовать это:
best = max(listOfScores, key=lambda x: x[0])
, так что я думаю, что, возможно, я использую его неправильно. Есть ли лучший способ сортировать эти кортежи (от самого большого до самого маленького, от самого маленького до самого большого), чтобы я мог получить либо самое маленькое, либо самое большое значение? Спасибо! :)
Это своего рода дубликат https://stackoverflow.com/questions/10695139/sort-a-list-of-tuples-by-2nd-item-integer-value – kuanb