объединить два словаря в один, причем элементы из dict2 имеют приоритет - PullRequest
0 голосов
/ 05 марта 2020
def combine_guests(guests1, guests2):
  # Combine both dictionaries into one, with each key listed 
  # only once, and the value from guests1 taking precedence

Rorys_guests = { "Adam":2, "Brenda":3, "David":1, "Jose":3, "Charlotte":2, "Terry":1, "Robert":4}
Taylors_guests = { "David":4, "Nancy":1, "Robert":2, "Adam":1, "Samantha":3, "Chris":5}

print(combine_guests(Rorys_guests, Taylors_guests))

Ответы [ 3 ]

1 голос
/ 05 марта 2020

Python 3,5 или выше

z = {**Rorys_guests , **Taylors_guests }
0 голосов
/ 05 марта 2020

Это может помочь. Это даст приоритет Rorys_guests и не будет включать значения из Taylors_guests, если оба имеют значение.

Taylors_guests.update(Rorys_guests)
return Rorys_guests
0 голосов
/ 05 марта 2020

Это должно работать:

def combine_guests(guests1, guests2):
    out = guests1.copy()
    for key, val in guests2.items():
        out[key] = val
    return out

РЕДАКТИРОВАТЬ: скопированные гости2 вместо гостей1

...