Пользовательская сортировка словаря в PythonPython

Программы на Python
Ответить
Anonymous
 Пользовательская сортировка словаря в Python

Сообщение Anonymous »

Мне нужно отсортировать словарь по конкретной функции. Я использовал функцию, возвращаемую искусственным интеллектом, которая кажется логичной, но у меня есть ошибка в параметре x: «reverse=True if x[1] >= 0 else False»< /p>
error = «NameError: имя 'x' не определено»
У вас есть идеи, почему x не распознается из лямбды?
error = «NameError: имя 'x' не определено»
Есть ли у вас идеи, почему x не распознается из лямбды? p>
Вот пример того, что я нужно:
dict = {"value1" : "1", "value2" : "2", "value3" : "-2", "value2" : "-5", "value5" : "0"}
dict_sorted = {"value2" : "2", "value1" : "1", "value5" : "0", "value3" : "-2", "value2" : "-5"}

А вот функция, которую я попробовал:


def sort_dictionary(dico):
"""Sorts the values ​​in a dictionary according to the criterion: positive decreasing, negative increasing.

Args:
dico: The dictionary to sort.

Returns:
A new dictionary sorted.
"""

# Extract key-value pairs
items = dico.items()

# Sort pairs based on value
items_tries = sorted(items, key=lambda x: x[1], reverse=True if x[1] >= 0 else False)

# Create a new sorted dictionary
dico_trie = dict(items_tries)

return dico_sort


Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»