Как говорит bereal, вы можете просто использовать для этого сравнение списков. Если связь не была проблемой, вы можете просто использовать max()
, чтобы определить победителя, но для обработки связей вам нужно отсортировать всю коллекцию списков.
Например, этот код будет обрабатывать любое количество списков.
list1 = [50,9,5,4,5]
list2 = [50,9,8,1,6]
list3 = [50,9,8,1,5]
lists = [(seq, i) for i, seq in enumerate((list1, list2, list3), 1)]
lists.sort(reverse=True)
if lists[0][0] == lists[1][0]:
print("it's a tie")
else:
print("list {0} wins: {1}".format(lists[0][1], lists[0][0]))
выход
list 2 wins: [50, 9, 8, 1, 6]
Если изменить list2
обратно [50, 9, 8, 1, 6]
, то it's a tie
и будет напечатан.
lists
список кортежей, каждый кортеж, содержащий один из исходных списков и его порядковым номером, так что мы можем определить списки после кортежи были отсортированы. Сортировка будет сравнивать списки, и если два списка идентичны, то индексы также будут сравниваться, но это не влияет на желаемый результат.
BTW, list1[1:2] > list2[1:2]
является расточительным. Он создает новую пару одиночных списков элементов & сравнивает их. Легче сравнивать сами элементы, например list1[1] > list2[1]
.
Зачем использовать 'while'? в этом случае 'while' работает как' if' из-за 'break' –
Самый низкий или самый высокий, вы используете оба в своем описании. В настоящее время он тестируется на самый высокий уровень. – AChampion
Вам действительно нужно связать уникальную строку с каждым отдельным списком - (чтобы ее можно было напечатать как ваш пример? – wwii