首页 > 解决方案 > 如何在python中构建排序键功能?

问题描述

我现在在在线课程中学习,而不是在这个练习中挣扎:我得到了一个元组列表:

 [("candy","5.5"),("banana","2.3"),("chocolate","4.4")] 

我需要构建一个按价格对元组进行排序的函数。为此,我需要构建一个可以放入的关键功能sorted(),但我不知道它应该是什么样子。我试过这个:

def choose_sec(my_list, new_list =[]):
  for i in my_list:
  new_list += i[1]
  for i in new_list:
    return int(i)

请帮我

标签: python-3.xlistsortingtuples

解决方案


您可以像这样根据每个元组的第二个元素(其价格)进行排序:

sorted(a, key=lambda x: float(x[1]))

输出:

[('banana', '2.3'), ('chocolate', '4.4'), ('candy', '5.5')]

如果你不想要lambda表达,你可以用正常的功能来做:

def sort_with_price(input_tuple):
    return float(input_tuple[1])

print(sorted(a, key=sort_with_price))

在此处了解有关排序的更多信息sorted()


推荐阅读