Как добавить значения из словарей в другой словарь? - PullRequest
0 голосов
/ 20 декабря 2018

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

Редактировать: я должен добавлять оценки, а не заменять.

def addScore(scorebord, scores):
    # add values for common keys between scorebord and scores dictionaries
    # include any keys / values which are not common to both dictionaries

def main():
    scorebord = {}

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

    addScore(scorebord, score)

if __name__ == "__main__":
    main()

Кто-нибудь знает, как написать эту функцию?

Ответы [ 3 ]

0 голосов
/ 20 декабря 2018

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

def addScore(scorebord, scores):
    for key, value in scores.items():
        if key in scorebord:
            scorebord[key] += value
        else:
            scorebord[key] = value

def main():
    scorebord = {}
    score = {'a':1,
             'b':2,
             'c':3}

    addScore(scorebord, score)

if __name__ == "__main__":
    main()
0 голосов
/ 21 декабря 2018

collections.Counter разработан специально для подсчета натуральных чисел:

from collections import Counter

def addScore(scorebord, scores):
    scorebord += scores
    print(scorebord)

def main():
    scorebord = Counter()
    score = Counter({'a': 1, 'b': 2, 'c': 3})

    addScore(scorebord, score)

main()

# Counter({'c': 3, 'b': 2, 'a': 1})
0 голосов
/ 20 декабря 2018
def addScore(scorebord, scores):
    scorebord.update(scores)

Подробнее об обновлении словаря здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...