Как построить функцию ключа сортировки в python? - PullRequest
0 голосов
/ 02 мая 2020

Сейчас я учусь в онлайн-курсе и не борюсь с этим упражнением: у меня есть список кортежей:

 [("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)

пожалуйста, помогите мне

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете сортировать по второму элементу (его цене) каждого кортежа следующим образом:

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() здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...