Yevhenii Mianovskyi - corrected dicts

 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# - дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку
my_list = [6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2]
my_dict = {}
for item in my_list:
if item not in my_dict.keys():
my_dict[item] = 1
elif item in my_dict.keys():
my_dict[item] += 1
print(my_dict)
# - дано список чисел - сформувати словник де кожному числу відповідає останній індекс входження такого числа
my_list = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
my_dict = {}
for index ,key in enumerate(my_list):
my_dict[key] = index
print(my_dict)
# - дано список чисел - сформувати словник де кожному числу відповідає список індексів на яких воно зустрічається
my_list = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
my_dict = {}
for index , key in enumerate(my_list):
if key not in my_dict.keys():
my_dict[key] = [index]
elif key in my_dict.keys():
my_dict[key].append(index)
print(my_dict)
# - дано список рядків - сформувати список словників де кожен словник - це символ - кількість входжень
["abracadabra", "somethingnewforus", "testandtestagain"]
my_list = ["abracadabra", "somethingnewforus", "testandtestagain"]
new_list = []
for word in my_list:
my_dict = {}
for char in word:
if char not in my_dict.keys():
my_dict[char] = 1
elif char in my_dict.keys():
my_dict[char] += 1
new_list.append(my_dict)
print(new_list)
# - дано два словника ключ-число - додати ці словники (якщо ключ зустрічається в обох - то значення додати, інакше - ключ-значення)
{2: 8, 5: 11, 7: 3, 1: 5, 45: 14}, {3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14}
dict1 = {2: 8, 5: 11, 7: 3, 1: 5, 45: 14}
dict2 = {3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14}
dict3 = {}
for key in dict1.keys():
if key in dict2.keys(): # sum of the intersection of two dicts
dict3[key] = dict1[key] + dict2[key]
else: # appending items in dict1 that are missing in dict2
dict3[key] = dict1[key]
for key in dict2.keys(): # appending missing items from dict 2
if key not in dict3.keys():
dict3[key] = dict2[key]
print(dict3)
# - дано два списки слів - повернути список слів, які зустрічаються в першому списку частіше ніж у другому
["q", "qq", "w", "w", "ww", "as"], ["a", "q", "qq", "qq", "ww"] -> ['as', 'w']
list1 = ["q", "qq", "w", "w", "ww", "as"]
list2 = ["a", "q", "qq", "qq", "ww"]
dict1 = {}
for item in list1: #counting items in the first list
if item not in dict1.keys():
dict1[item] = 1
elif item in dict1.keys():
dict1[item] += 1
dict2 = {}
for item in list2: #counting items in the second list
if item not in dict2.keys():
dict2[item] = 1
elif item in dict2.keys():
dict2[item] += 1
values =[key for key in dict1.keys() if dict1.get(key,0) > dict2.get(key,0)]
print(values)