У меня есть два словаря items и u_items
items = {"A": 1, "B": 2, "C": 3}
u_items = {"D": 4, "B": 4, "E": 8, "C": 4}
Я хочу обновить словарь элементов с помощью u_items, поэтому я сделал это
items.update((k + '_1' if k in items else k, v) for k, v in u_items.items())
так, что я могу отличить ключи от обоих словарей
Вывод:
items = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'B_1': 4, 'E': 8, 'C_1': 4}
но когда я обновляю словарь элементов другим словарем, скажем, n_items, он заменяет значение B_1вместо того, чтобы делать это B_1_1
n_items = {"C":7, "B":9}
items.update((k + '_1' if k in items else k, v) for k, v in n_items.items())
вывод:
{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'B_1': 9, 'E': 8, 'C_1': 7}
Но я хочу, чтобы вывод был таким:
{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'B_1': 4, 'E': 8, 'C_1': 4, 'B_1_1':9,'C_1_1':7}
или вот так:
{'A': 1, 'B': 2, 'C': 3, 'D': 4, 'B_1': 4, 'E': 8, 'C_1': 4, 'B_2':9,'C_2':7}
Как я могу это сделать?