Python: сортировка списка по параметру в другой функции - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь заставить функцию fruit() сортировать, используя key=sortby(), а затем печатать на экран - либо в пределах fruit(), либо в своей собственной функции.

Работает нормально, когда нетfruit(), но у меня возникают трудности с правильным синтаксисом для передачи par в качестве параметра, который будет использоваться в fruit()

fruit = [["Apples", 30], ["Bananas", 100], ["Pears", 0], ["Peaches", 20]]

def sortby(par):
    return par[1]

def fruit():
    rate = []

    fruit.sort(key=sortby, reverse=True)

    for success in fruit:
        rate.append(success[0])
        rate.append(success[1])

    str = str(rate)

print(str)

1 Ответ

0 голосов
/ 29 сентября 2018

Есть несколько проблем с вашим кодом:

  1. Вам необходимо вернуть значение из вашей fruit функции
  2. Вам нужно присвоить функции fruit другое имяиз списка
  3. В какой-то момент вам нужно вызвать функцию fruit
  4. Избегать использования str в качестве имени переменной, так как это встроенная функция в Python.

Функция sortby работает нормально, однако.

fruit = [["Apples", 30], ["Bananas", 100], ["Pears", 0], ["Peaches", 20]]

def sortby(par):
    return par[1]

def sort_fruit():
    rate = []

    fruit.sort(key=sortby, reverse=True)

    for success in fruit:
        rate.append(success[0])
        rate.append(success[1])

    return rate

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