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

Работа с парами ключ:значение в словаре

27.12.2019, 19:42. Показов 1102. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот допустим я создал словарь,ключом является сам товар,значением-сочетание категории товара и его цены.
Python
1
d1={"вишня":"продукты:100","ноутбук":"цифровая техника:20000","лимон":"продукты:50","телефон":"цифровая техника:10000","наушники":"цифровая техника:500","молоко":"продукты:30"}
Нужно создать словарь,допустим d2 в котором ключами будут категории товаров,а значениями-средние цены товаров этих категорий.Как это сделать?У меня вообще догадок нет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2019, 19:42
Ответы с готовыми решениями:

Как изменить ключ в словаре?
хочется чтобы в следующем коде пользователь мог сменить логин и пароль: users_passwords = { 'guest01': '1111', 'rim41':...

Данный ключ отсутствует в словаре!
что это за ошибка такая? часть проги вы увидите на картинке! подскажите, в чем же может быть ошибка! или что это означает??!

Данный ключ отсутствует в словаре
Добрый вечер. Заранее извиняюсь за низкую осведомленность по теме. При написании работы столкнулся с данной ошибкой. Есть приложение...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
27.12.2019, 19:58
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
d1={"вишня":"продукты:100","ноутбук":"цифровая техника:20000", \
    "лимон":"продукты:50","телефон":"цифровая техника:10000", \
    "наушники":"цифровая техника:500","молоко":"продукты:30"}
 
def mk_avg(d):
    cat={}
    for a in d.values():
        [c,v]=a.split(":")
        if cat.get(c)==None:
            cat[c]=[float(v),1]
        else:
            [w,p]=cat[c]
            cat[c]=[float(w)+float(v),p+1]
    res={}
    for z in cat.items():
        res[z[0]]=z[1][0]/z[1][1]
    return res      
    
print(mk_avg(d1))
результат: {'продукты': 60.0, 'цифровая техника': 10166.666666666666}
0
 Аватар для codcw
815 / 527 / 214
Регистрация: 22.12.2017
Сообщений: 1,495
27.12.2019, 20:06
Python
1
2
3
4
5
6
7
8
9
10
11
d1={"вишня":"продукты:100",
    "ноутбук":"цифровая техника:20000",
    "лимон":"продукты:50",
    "телефон":"цифровая техника:10000",
    "наушники":"цифровая техника:500",
    "молоко":"продукты:30"}
b=set([d1.get(i).split(':')[0] for i in d1])
d2=dict.fromkeys(b,0)
for i in d1:
    d2[d1.get(i).split(':')[0]]+=int(d1.get(i).split(':')[1])
print(d2)
я вам оставил только поделить сумму на количество, надеюсь справитесь, потому что мне лень

Добавлено через 34 секунды
блин, не успел
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
27.12.2019, 23:01
Цитата Сообщение от CherryX Посмотреть сообщение
значением-сочетание категории товара и его цены
Не проще использовать кортежи вместо запихивания разных по типу значений в одну строку? ("product",100)
А вообще вам не словарь нужен, а SQL БД.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
28.12.2019, 09:21
Garry Galler, это да. Там select ... group by ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2019, 09:21
Помогаю со студенческими работами здесь

Данный ключ отсутствует в словаре
Создал проект MVC в VS2017. Открыл его в VS2013. Компилируется и запускается нормально. Но в файле контроллера почему-то не...

Данный ключ отсутствует в словаре. Dictionary
Всем привет. Выкладываю кусок кода. Проблема: когда запускаю программа пишет ошибку в строке 46. Почему? Почему он не переводит с...

Как в словаре получить ключ по значению?
Как(какой) словарь использовать, что бы можно возвращать как значение по ключу, так и ключ по значению. т.е. 1 = Вася 2 = Петя ...

Почему не проверяет есть ли ключ в словаре?
вот такой у меня словарь private Dictionary<int, int> CellsMoove = new Dictionary<int, int>(); я проверяю если нет такого значения то...

Как найти ключ во вложенном словаре?(питон)
list1 = {{'1': {'DEBUG': 'Tracemod'}, '2': {'ERROR': 'Null pointer exception'}, '3': {'INFO': 'startGameAllert'}, '4': {'DEBUG':...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru