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

Не добавляется элемент в список для значения словаря

12.06.2020, 18:03. Показов 2415. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
выводится только почему то последний элемент списка. Что сделать чтобы все выводил? При чем не в выводе проблема а в функции.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def update_dictionary(d, key, value):
    l=[]
    if key in d.keys():
        l.append(value)
        d.update({key:l})
    elif key not in d.keys():
        if 2*key in d.keys():
            l.append(value)
            d[2*key]=l
        else:
            l.append(value)
            d.update({2*key:l})
d = {}
print(update_dictionary(d, 1, -1))  # None
print(d)                            # {2: [-1]}
update_dictionary(d, 2, -2)
print(d)                            # {2: [-1, -2]}
update_dictionary(d, 1, -3)
print(d)                            # {2: [-1, -2, -3]}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2020, 18:03
Ответы с готовыми решениями:

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

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

Элемент экземпляра класса не добавляется в список
Здравствуйте, у меня возникла небольшая проблема: я создаю список класса, но при добавлении элемента списка, элемент не добавляется. ...

8
Эксперт Python
 Аватар для АмигоСП
295 / 108 / 57
Регистрация: 07.12.2016
Сообщений: 209
12.06.2020, 19:50
А что Вы хотите получить в итоге? То, что закомментировали напротив принтов? Смотрите, в своей функции Вы всегда создаёте новый список: l=[]. Потом в очередном if вы кладёте туда элемент value(опираясь на Ваш код - это всегда одно число). И заменяете значение ключа этим списком с одним элементом. А Вам, по всей видимости, нужно получить значение по ключу и в него уже добавить следующее значение.
0
0 / 0 / 0
Регистрация: 07.05.2020
Сообщений: 21
12.06.2020, 21:18  [ТС]
Да мне так и нужно добавлять следующее значение, но как это сделать? Метод .append добавляет ведь элемент в конец списка, не создавая новый список
0
Эксперт Python
 Аватар для АмигоСП
295 / 108 / 57
Регистрация: 07.12.2016
Сообщений: 209
12.06.2020, 21:32
Цитата Сообщение от Tonigard Посмотреть сообщение
не создавая новый список
а что вы делаете каждый раз во 2ой строчке кода?
0
0 / 0 / 0
Регистрация: 07.05.2020
Сообщений: 21
13.06.2020, 23:46  [ТС]
а как мне это можно изменить? Если мне нужно реализовать только функцию?
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
14.06.2020, 11:26
Python
1
2
3
4
5
def update_dictionary(d, key, value):
    if key in d:
        d[key].append(value)
    else:
        d[key] = [value]
Надеюсь принцип понятен. А под свои нужды сами подправите.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.06.2020, 14:26
unfindable_404, ты не поверишь:

Python
1
2
3
4
5
6
7
>>> d = {}
>>> d.setdefault('key', []).append(1)
>>> d.setdefault('key', []).append(2)
>>> d.setdefault('key', []).append(3)
>>> d
{'key': [1, 2, 3]}
>>>
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
14.06.2020, 16:45
Рыжий Лис, Почему же не поверю? Верю, даже очень
Вот только ТС просил функцию и я ему её по подробнее расписал.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.06.2020, 16:52
Python
1
2
def update_dictionary(d, key, value):
    d.setdefault(key, []).append(value)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2020, 16:52
Помогаю со студенческими работами здесь

В односвязный список добавляется последний нулевой элемент
Здравствуйте, такая проблема, почему-то в список добавляется последний нулевой элемент, в чем может быть трабл ? скрин Вот...

Вывести в список D отсортированные значения словаря С
Задать словарь А с ключами: «Россия», «США» и значениями «Москва», «Вашингтон», соответственно, используя кортеж списков. Задать словарь...

Как проверить наличие значения словаря словаря в словаре словарей?
есть массив parsdata, который содержит результаты парсинга. нужно проверить, спарсилось ли что-то новое. или нет в сравнении со словарем...

Суммировать значения элементов словаря если элементы смешанного типа (элемент состоит из численной части и буквенной)
Здравствуйте, уважаемые форумчане! Есть словарь. Возникла потребность посчитать суммы элементов по ключам словаря. Но проблема в...

Список как значение для словаря
Доброго времени суток. Пытался добавить к элементу списка, который является значением в словаре, число, но выдает ошибку d =...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru