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

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

30.09.2015, 07:30. Показов 2194. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Есть словарь:

Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
babynames = {
    'София, Софья': {
        2012: [3841, 6.0]', 
        2010: [3668, 6.2]',
        2005: [2127, 4.8]',
        2000: [826, 2.4]',
        1990: [193, 0.4]',
    },
    'Виктория': {
        2012: [2219, None],
        2010: [1994, None],
        2005: [1829, None],
        2000: [1076, None],
        1990: [1033, None],
    },
    ...


Написал функцию для вывода информации по запросу пользователя:

Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def print_names(babynames):
    years = ['2012', '2010', '2005', '2000', '1990']
 
    while True:
        input_data = input('Введите год: ')
        if input_data == 'q':
            sys.exit(0)
            break
        if input_data in years:
            index = years.index(input_data)
            for x, y in babynames.items():
                print('{0:25} {1:20} {2}'.format(x, babynames[x][input_data][0], babynames[x][input_data][1]))
        else:
            print('Данных нет. Есть информация по годам: 1990, 2000, 2005, 2010, 2012')
            break


Все работает (скрин во вложении).

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

Пробовал через sorted() с заданием параметра key (через lambda функцию), но ничего путного не получилось.
Миниатюры
Сортировка словаря  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2015, 07:30
Ответы с готовыми решениями:

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

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

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

3
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.09.2015, 09:01
ApmeM,Если тебе нужно отсортировать словарь, то нужно использовать collection.sorteddict, а вообще обычный словарь это не упорядоченная коллекция.
1
Эксперт Python
 Аватар для dondublon
4648 / 2068 / 366
Регистрация: 17.03.2012
Сообщений: 10,168
Записей в блоге: 6
30.09.2015, 10:28
Цитата Сообщение от ApmeM Посмотреть сообщение
sys.exit(0)
Сурово
sys.exit() заканчивает работу всей программы. Напишите просто return.

Теперь по вопросу. Чтобы что-то отсортировать, надо, чтобы это что-то было в наличии, полностью. Нельзя сортировать то, чего ещё нет.
Отсюда вывод: соберите ваши данные по годам, чтобы было примерно так:
{2012: ..., 2010:...}
И тут уже можно сортировать и выводить сортированное.
1
0 / 0 / 0
Регистрация: 09.04.2014
Сообщений: 21
30.09.2015, 13:35  [ТС]
Спасибо за советы, попробую реализовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.09.2015, 13:35
Помогаю со студенческими работами здесь

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

Сортировка словаря
добрый день. Помогите отсортировать список. def main(): spisok = {'a': {1, 2, 3}, 'b': {3, 4, 5}, 'c': {5, 6}, } korteg =...

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru