Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Помогите разобраться, как python sort dict of lists

  1. Помогите разобраться, как python sort dict of lists

    Привет всем! Пытаюсь разобраться, как в python sort dict of lists. У меня есть словарь, где ключи - строки, а значения - списки с разными данными. Хочу отсортировать словарь по значениям этих списков. Как это правильно сделать? Может кто-то поделиться кусочком кода или объяснить, как это работает? Заранее благодарен!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Йоу! Вот пример кода, который мог бы тебе помочь:

    Программный код:

    data 
    = {'a': [321], 'b': [654], 'c': [987]}

    sorted_data = {kfor kv in sorted(data.items(), key=lambda itemitem[1])}

    // Это отсортирует словарь по значениям списков в порядке возрастания.

    print(sorted_data
    Если тебе нужно сортировать по определенному индексу внутри списков, например, по первому элементу, то можешь немного изменить лямбду:
    Программный код:

    sorted_data 
    = {kfor kv in sorted(data.items(), key=lambda itemitem[1][0])} 
    Ловлю фидбэк, если что не так!

  4. Цитата Сообщение от Мариша
    Йоу! Вот пример кода, который мог бы тебе помочь:

    Программный код:

    data 
    = {'a': [321], 'b': [654], 'c': [987]}

    sorted_data = {kfor kv in sorted(data.items(), key=lambda itemitem[1])}

    // Это отсортирует словарь по значениям списков в порядке возрастания.

    print(sorted_data
    Если тебе нужно сортировать по определенному индексу внутри списков, например, по первому элементу, то можешь немного изменить лямбду:
    Программный код:

    sorted_data 
    = {kfor kv in sorted(data.items(), key=lambda itemitem[1][0])} 
    Ловлю фидбэк, если что не так!
    Чувак, отличный пример! Прямо в точку. Объяснил четко, даже мне понятно стало

  5. Для начала определись, как именно хочешь сортировать списки. Если по возрастанию элемента, то можно воспользоваться стандартной сортировкой с лямбдой. Вот пример:

    Программный код:

    data 
    = {'a': [312], 'b': [546], 'c': [897]}

    sorted_data = {ksorted(v) for kv in data.items()}

    print(
    sorted_data
    Уже дальше можно сортировать по значениям.

  6. Цитата Сообщение от StarRogue
    Для начала определись, как именно хочешь сортировать списки. Если по возрастанию элемента, то можно воспользоваться стандартной сортировкой с лямбдой. Вот пример:

    Программный код:

    data 
    = {'a': [312], 'b': [546], 'c': [897]}

    sorted_data = {ksorted(v) for kv in data.items()}

    print(
    sorted_data
    Уже дальше можно сортировать по значениям.
    Нашел золотую середину. Идея с вложенной сортировкой запутала, но пример сразу прояснил все.

  7. Если ты про сортировку ключей по значениям списков, то можно сделать вот так:

    Программный код:

    data 
    = {'x': [231], 'y': [546], 'z': [978]}

    sorted_data dict(sorted(data.items(), key=lambda itemitem[1][1], reverse=True))

    print(
    sorted_data
    Сортируем по второму элементу списка каждого ключа в порядке убывания.

  8. Цитата Сообщение от Тесей
    Если ты про сортировку ключей по значениям списков, то можно сделать вот так:

    Программный код:

    data 
    = {'x': [231], 'y': [546], 'z': [978]}

    sorted_data dict(sorted(data.items(), key=lambda itemitem[1][1], reverse=True))

    print(
    sorted_data
    Сортируем по второму элементу списка каждого ключа в порядке убывания.
    Зачет! Сортировка по конкретному индексу в списках то, что надо. Круто!

  9. Можно еще так:

    Программный код:

    data 
    = {'first': [379], 'second': [126], 'third': [548]}

    sorted_data = {kfor kv in sorted(data.items(), key=lambda itemsum(item[1]))}

    print(
    sorted_data
    Сортировка по сумме элементов списка. Или попробуй любые другие агрегации.

  10. Цитата Сообщение от Руслан
    Можно еще так:

    Программный код:

    data 
    = {'first': [379], 'second': [126], 'third': [548]}

    sorted_data = {kfor kv in sorted(data.items(), key=lambda itemsum(item[1]))}

    print(
    sorted_data
    Сортировка по сумме элементов списка. Или попробуй любые другие агрегации.
    Это необычно и круто! Суммой элементов списка не додумывался сортировать. Креатив!

Страница 1 из 2 12 ПоследняяПоследняя