Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 10.11.2019
Сообщений: 33

Сортировка словаря

23.01.2020, 11:04. Показов 1915. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день. Помогите отсортировать список.
Python
1
2
3
4
5
6
def main():
    spisok = {'a': {1, 2, 3}, 'b': {3, 4, 5}, 'c': {5, 6}, }
    korteg = sorted(spisok.items(), key=lambda kv: kv[1])
    print(korteg)
if __name__ == '__main__':
    main()
знаю словарь же нельзя отсортировать он не упорядоченный,
для этого его надо переделать либо в кортеж либо в список.
как мне это сделать попарно?
ну например (3,5),(3,6),(5,1),(5,2),(5,3) чтоб так потом вывел?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2020, 11:04
Ответы с готовыми решениями:

Сортировка словаря
Функция сортировки по алфавиту: def alphabet_sort(to_sort: dict) -> dict: # Сортировка в алфавитном порядке производителей ...

Сортировка Словаря
Доброго Времени Суток, подскажите, как бы мне отсортировать такой словарь в порядке УБЫВАНИЙ его значений? d={'a':5,'b':6,'c':8}

Сортировка словаря
Всем привет. Есть словарь: babynames = { 'София, Софья': { 2012: ', 2010: ', 2005: ',

14
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.01.2020, 11:30
Android36, в питон 3.7 словари сохраняют порядок.
0
2 / 2 / 0
Регистрация: 10.11.2019
Сообщений: 33
23.01.2020, 12:06  [ТС]
может кто подскажет как мне получить значения из списка. потом из значений получить множества и сравнить их?
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
23.01.2020, 12:16
Цитата Сообщение от Android36 Посмотреть сообщение
для этого его надо переделать либо в кортеж либо в список.
или collections.OrderedDict
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.01.2020, 13:08
Android36,

Если я вас правтльно понял, то:

Python
1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding: utf-8 -*-
 
 
my_dict = {
    'a': {1, 2, 3},
    'c': {7, 8, 9}, 
    'b': {4, 5, 6}
}
 
print(tuple(((k, sum(v)) for k, v in my_dict.items())))
 
# (('a', 6), ('c', 24), ('b', 15))
1
2 / 2 / 0
Регистрация: 10.11.2019
Сообщений: 33
23.01.2020, 13:33  [ТС]
нет не сложить значения а из значений(множеств) сравнить их пересечения в общем...

Добавлено через 6 минут
Подскажет кто как извлечь значения из словаря.? А потом эти значения сравнить.
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
23.01.2020, 13:39
Цитата Сообщение от Android36 Посмотреть сообщение
как извлечь значения из словаря
Python
1
2
3
>>> spisok = {'a': {1, 2, 3}, 'b': {3, 4, 5}, 'c': {5, 6}, }
>>> spisok['a']
set([1, 2, 3])
1
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.01.2020, 16:09
Android36,

Так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
 
 
my_dict = {
    'a': {1, 2, 3},
    'b': {3, 4, 5},
    'c': {1, 4, 5}, 
}
 
 
def example(my_dict: dict):
    items = tuple(my_dict.items())
    for i, (k, v) in enumerate(items):
        for _k, _v in items[i + 1:]:
            if v & _v: yield (f"{k}{_k}", v & _v)
 
 
print(tuple(example(my_dict)))
# (('ab', {3}), ('ac', {1}), ('bc', {4, 5}))
1
2 / 2 / 0
Регистрация: 10.11.2019
Сообщений: 33
23.01.2020, 16:38  [ТС]
Спасибо. Вы отсортировали по ключу а надо по значению...
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
23.01.2020, 16:50
Android36, я ничего не сортировал в python 3.7.x и выше словари упорядочены. Мне кажется вы не можете нормально сформулировать задачу. Просто скажите что имеется на входе, и что должно получится. Желательно с примерами.
0
19 / 14 / 6
Регистрация: 21.01.2020
Сообщений: 49
23.01.2020, 17:07
Python
1
2
3
4
5
a = {'b': {4, 2, 3}, 'a': {3, 4, 5}, 'c': {5, 6}}
dict_in = {}
dict_in.update(sorted(a.items(), key=lambda kv: kv[0]))
dict_in.update(sorted(a.items(), key=lambda kv: kv[1]))
print(dict_in)
По ключу и по значению. Чтобы только по значению, нужно убрать первую сортировку (kv[0])
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
23.01.2020, 17:18
А зачем сортировать словарь? Просто интересно...
1
Особый статус
Эксперт WindowsВирусоборец
8429 / 1708 / 87
Регистрация: 15.04.2011
Сообщений: 5,520
23.01.2020, 18:34
https://www.cyberforum.ru/post14194408.html
0
2 / 2 / 0
Регистрация: 10.11.2019
Сообщений: 33
23.01.2020, 19:59  [ТС]
просто у меня есть словарь
slovar = {'a': {1, 2, 3}, 'b': {3, 4, 5}, 'c': {5, 6}, }
нужно его значения сравнить как множества и вывести отдельно без ключей.
0
Особый статус
Эксперт WindowsВирусоборец
8429 / 1708 / 87
Регистрация: 15.04.2011
Сообщений: 5,520
23.01.2020, 20:04
Вместо dict.keys() используйте dict.values() - так вы получите коллекцию значений ключей.
Затем сортируйте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2020, 20:04
Помогаю со студенческими работами здесь

Сортировка словаря
database = { "Группа1":, , ], "Группа2":, ] } def cout2(groupname): for key in...

Сортировка словаря
Функция которая возвращает словарь. Но бывает что возвращает его не в том порядке в котором задавался. def multiply(vector, num): ...

сортировка словаря
при запуске программы создается пустой словарь в процессе работы добавляются элементы. причем первое значение всегда число. при...

Сортировка словаря
Как отсортировать словарь по произведению ключа и значения? INPUT: 30:8 50:12 40:14 20:10 OUTPUT: 30:8 20:10 40:14

Сортировка словаря
##Дан словарь. Помогите остортировать его по значению Номер Dictionary = {'№':,'1':,'2':,'3':} print...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru