根据第二个参数sorting元组

我有一个看起来像这样的元组列表:

("Person 1",10) ("Person 2",8) ("Person 3",12) ("Person 4",20) 

我想要的是按照元组的第二个值升序排列的列表。 所以L [0]应该是("Person 2", 8)sorting后。

我怎样才能做到这一点? 使用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)) 

输出 – > Rogue One