дано список чисел сформувати словник де кожному числу відповідає списо

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# - дано список чисел - сформувати словник де кожному числу відповідає список індексів на яких воно зустрічається
# [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3] -> {4: [0, 2, 3], 6: [1, 4, 8, 9], 5: [5, 10, 12, 13], 7: [6, 11], 9: [7], 3: [14]}
lst = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
def all_index(list):
answer = {}
for indx, value in enumerate(list):
if value in answer:
answer[value].append(indx)
else:
answer[value] = [indx]
return answer
print(f'3. Answer: {all_index(lst)}')
# - дано два словника ключ-число - додати ці словники (якщо ключ зустрічається в обох - то значення додати, інакше - ключ-значення)
# {2: 8, 5: 11, 7: 3, 1: 5, 45: 14}, {3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14} -> {1: 8, 2: 8, 3: 13, 4: 14, 5: 21, 7: 3, 8: 2, 45: 22}
dct_1 = {2: 8, 5: 11, 7: 3, 1: 5, 45: 14}
dct_2 = {3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14}
answer_4 = {}
answer_4.update(dct_1)
for key in dct_2:
if key in answer_4:
answer_4[key] += dct_2[key]
else:
answer_4.update({key: dct_2[key]})
print(f'5. Answer: {dict(sorted(answer_4.items()))}')