Ответ 1
Вы можете использовать параметр key
для list.sort()
:
my_list.sort(key=lambda x: x[1])
или, немного быстрее,
my_list.sort(key=operator.itemgetter(1))
(Как и в любом модуле, вам нужно import operator
, чтобы использовать его.)
У меня есть список кортежей, которые выглядят примерно так:
("Person 1",10)
("Person 2",8)
("Person 3",12)
("Person 4",20)
Что я хочу получить, это список, отсортированный по возрастанию, вторым значением кортежа. Поэтому после сортировки L [0] должен быть ("Person 2", 8)
.
Как я могу это сделать? Использование Python 3.2.2 Если это помогает.
Вы можете использовать параметр key
для list.sort()
:
my_list.sort(key=lambda x: x[1])
или, немного быстрее,
my_list.sort(key=operator.itemgetter(1))
(Как и в любом модуле, вам нужно import operator
, чтобы использовать его.)
def findMaxSales(listoftuples):
newlist = []
tuple = ()
for item in listoftuples:
movie = item[0]
value = (item[1])
tuple = value, movie
newlist += [tuple]
newlist.sort()
highest = newlist[-1]
result = highest[1]
return result
movieList = [("Finding Dory", 486), ("Captain America: Civil
War", 408), ("Deadpool", 363), ("Zootopia", 341), ("Rogue One", 529), ("The Secret Life of Pets", 368), ("Batman v Superman", 330), ("Sing", 268), ("Suicide Squad", 325), ("The Jungle Book", 364)]
print(findMaxSales(movieList))
вывод → Разбойник