Size: a a a

Сообщество Python Программистов

2021 January 21

VS

Vitalii Shchudlo in Сообщество Python Программистов
Есть два словаря:

a = {'a': 1, 'b': 3, 'c': 5}
b = {'a': 3, 'b': 2, 'c': 6}

Как правильно просуммировать  значения ключей ? чтобы результат получился:

z = {'a': 4, 'b': 5, 'c': 11}
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Пробую {**a, **b} или видел ещё в новых версиях оператор | - не получается
источник

AT

Alexander T in Сообщество Python Программистов
Vitalii Shchudlo
Есть два словаря:

a = {'a': 1, 'b': 3, 'c': 5}
b = {'a': 3, 'b': 2, 'c': 6}

Как правильно просуммировать  значения ключей ? чтобы результат получился:

z = {'a': 4, 'b': 5, 'c': 11}
z = {k: a[k] + b[k] for k in a}
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Alexander T
z = {k: a[k] + b[k] for k in a}
благодарю, а выражения for k in a , если вписать .. in b одно и тоже получается, это в какой из двух списков будет суммироваться или как?
источник

K

KarmaBot in Сообщество Python Программистов
Vitalii Shchudlo
благодарю, а выражения for k in a , если вписать .. in b одно и тоже получается, это в какой из двух списков будет суммироваться или как?
Вы увеличили карму Alexander T до 3785.50 (+1.00)
источник

AT

Alexander T in Сообщество Python Программистов
Vitalii Shchudlo
благодарю, а выражения for k in a , если вписать .. in b одно и тоже получается, это в какой из двух списков будет суммироваться или как?
если ключи точно совпадают, то разницы нет
источник

e

eff1c in Сообщество Python Программистов
нужно объеденить списки ключей и использовать оператор set
источник

AT

Alexander T in Сообщество Python Программистов
Vitalii Shchudlo
благодарю, а выражения for k in a , если вписать .. in b одно и тоже получается, это в какой из двух списков будет суммироваться или как?
если могут не совпадать, то
c = {k: a.get(k, 0) + b.get(k, 0) for k in a.keys() | b.keys()}
источник

e

eff1c in Сообщество Python Программистов
оу
источник

e

eff1c in Сообщество Python Программистов
прикольно
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Alexander T
если могут не совпадать, то
c = {k: a.get(k, 0) + b.get(k, 0) for k in a.keys() | b.keys()}
спасибо
источник

K

KarmaBot in Сообщество Python Программистов
Vitalii Shchudlo
спасибо
Вы увеличили карму Alexander T до 3786.50 (+1.00)
источник

КП

Кирилл Панов... in Сообщество Python Программистов
Alexander T
если могут не совпадать, то
c = {k: a.get(k, 0) + b.get(k, 0) for k in a.keys() | b.keys()}
+ прикольно
источник

K

KarmaBot in Сообщество Python Программистов
Кирилл Панов
+ прикольно
Вы увеличили карму Alexander T до 3794.18 (+7.69)
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Alexander T
z = {k: a[k] + b[k] for k in a}
А ещё вопрос, а то пытаюсь сделать за этим способом но немного у меня условия меняется

Мне нужно в файл записывать время от времени результат в виде словаря

Я поэтому и справшивал как суммировать чтобы

взять тот словарь что сейчас, достать словарь что в файле записан(.txt) и просуммировать их, и перезаписать назад в файл

но мне ошибки летят в виде:
TypeError: string indices must be integers

Кинуть код что у меня ?
источник

КП

Кирилл Панов... in Сообщество Python Программистов
Vitalii Shchudlo
А ещё вопрос, а то пытаюсь сделать за этим способом но немного у меня условия меняется

Мне нужно в файл записывать время от времени результат в виде словаря

Я поэтому и справшивал как суммировать чтобы

взять тот словарь что сейчас, достать словарь что в файле записан(.txt) и просуммировать их, и перезаписать назад в файл

но мне ошибки летят в виде:
TypeError: string indices must be integers

Кинуть код что у меня ?
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Да я то понимаю перевод ошибки, только исправить не могу
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
У меня вывод из файла:

{'2': 41, '3': 3, '4': 2, '5': 1, '6': 4, '7': 0, '8': 0}
источник

VS

Vitalii Shchudlo in Сообщество Python Программистов
Вроде строк нету🙄
источник

AT

Alexander T in Сообщество Python Программистов
Vitalii Shchudlo
А ещё вопрос, а то пытаюсь сделать за этим способом но немного у меня условия меняется

Мне нужно в файл записывать время от времени результат в виде словаря

Я поэтому и справшивал как суммировать чтобы

взять тот словарь что сейчас, достать словарь что в файле записан(.txt) и просуммировать их, и перезаписать назад в файл

но мне ошибки летят в виде:
TypeError: string indices must be integers

Кинуть код что у меня ?
ниче не понял. как ты словарь в txt записываешь и читаешь?
источник