С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 138
1

Сортировка словаря по значению

02.12.2022, 12:43. Показов 692. Ответов 4

Author24 — интернет-сервис помощи студентам
Добрый день Всем!
Есть словарь
Python
1
2
3
4
5
6
dict1 = {
   "first": 10,
   "second": 15,
   "third": 15,
   "forth": 100
}
Нужно отсортировать по значению, и в результате должны остаться items от dict1 первых двух максимальных значений, т.е.:
Python
1
2
3
4
5
res = {
   "forth": 100,
   "second": 15,
   "third": 15
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2022, 12:43
Ответы с готовыми решениями:

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

Сортировка словаря по ЗНАЧЕНИЮ(не по ключу)
Собственно, как это сделать? Вот мой код: import sys from pprint import pprint #iter_count =...

Сортировка словаря по значению определенного ключа
Подскажите, а как отсортировать список словарей l1 по значению ключа 'age'. Мне почему то словари...

Доступ к значению словаря
У меня несколько вопросов. Возможно, глупых... У меня есть json-файл с большой вложенностью. Я...

4
Эксперт PythonЭксперт Java
19509 / 11049 / 2931
Регистрация: 21.10.2017
Сообщений: 23,302
02.12.2022, 13:08 2
Python
1
2
3
4
5
6
7
8
9
dict1 = {
   "first": 10,
   "second": 15,
   "third": 15,
   "forth": 100
}
 
for i in sorted(dict1.items(), key=lambda x:-x[1]):
    print(i)
Код
('forth', 100)
('second', 15)
('third', 15)
('first', 10)
Дальше сам
0
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 138
02.12.2022, 13:32  [ТС] 3
А как взять только по 2 максимальных значениям? То есть в примере два максимальных значения - это 100 и 15. И мне нужен словарь, где будут отображены только items от dict1 со значениями 100 и 15
0
Эксперт PythonЭксперт Java
19509 / 11049 / 2931
Регистрация: 21.10.2017
Сообщений: 23,302
02.12.2022, 13:50 4
Ты сам вообще ничего не планируешь делать?
Найти два максимума - задача тривиальная. Да и здесь, на форуме, решена тыщу раз.
Обратно в словарь перевести?
Python
1
2
3
4
5
lst = [('forth', 100), ('second', 15), ('third', 15), ('first', 10)]
 
dic = {k:v for k,v in lst}
print(dic)
# {'forth': 100, 'second': 15, 'third': 15, 'first': 10}
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
37412 / 20784 / 4277
Регистрация: 12.02.2012
Сообщений: 34,194
Записей в блоге: 14
02.12.2022, 13:56 5
Все это называется не "сортировка" (словари не сортируются!), а фильтрация.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
dict1 = {
   "first": 10,
   "second": 15,
   "third": 15,
   "forth": 100
}
 
def foo(di):
    do={}
    x1,x2=sorted(tuple(di.values()))[-1:-3:-1]
    for k,v in di.items():
        if v in (x1,x2):
            do[k]=v
    return do
    
print(foo(dict1))
1
02.12.2022, 13:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2022, 13:56
Помогаю со студенческими работами здесь

Определить ключ словаря по значению
Добрый день! Подскажите как определить ключ словаря по одному значению? d = {0: 0, 1: , 2: } a...

Применение метода append к значению ключа словаря
Прошу помочь разобраться с работой кода. Если вкратце, нужно сделать словарь, где ключ - строка...

Сортировка Словаря
Доброго Времени Суток, подскажите, как бы мне отсортировать такой словарь в порядке УБЫВАНИЙ его...

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru