Yevhenii Mianovskyi

 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
# - дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку
[6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2] -> {2: 2, 3: 3, 4: 2, 5: 3, 6: 2, 7: 2, 9: 1}
[7, 7, 4, 2, 8, 9, 2, 6, 4, 8, 8, 5, 7, 3, 2] -> {2: 3, 3: 1, 4: 2, 5: 1, 6: 1, 7: 3, 8: 3, 9: 1}
my_list = [6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2]
dict = {key:my_list.count(key) for key in my_list}
print(dict)
# - дано список чисел - сформувати словник де кожному числу відповідає останній індекс входження такого числа
[7, 7, 4, 2, 8, 9, 2, 6, 4, 8, 8, 5, 7, 3, 2] -> {7: 12, 4: 8, 2: 14, 8: 10, 9: 5, 6: 7, 5: 11, 3: 13}
[4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3] -> {4: 3, 6: 9, 5: 13, 7: 11, 9: 7, 3: 14}
my_list = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
my_dict = {}
for key in my_list:
indices = [i for i, value in enumerate(my_list) if value == key]
my_dict[key] = max(indices)
print(my_dict)
# - дано список чисел - сформувати словник де кожному числу відповідає список індексів на яких воно зустрічається
[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]}
my_list = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
my_dict = {}
for key in my_list:
indices = [i for i, value in enumerate(my_list) if value == key]
my_dict[key] = indices
print(my_dict)
# - дано список рядків - сформувати список словників де кожен словник - це символ - кількість входжень
["abracadabra", "somethingnewforus", "testandtestagain"] -> [{'c': 1, 'd': 1, 'a': 5, 'r': 2, 'b': 2}, {'g': 1, 'n': 2, 'f': 1, 't': 1, 'u': 1, 'h': 1, 'm': 1, 'o': 2, 'e': 2, 'r': 1, 'i': 1, 's': 2, 'w': 1}, {'g': 1, 'n': 2, 't': 4, 'd': 1, 'e': 2, 'a': 3, 'i': 1, 's': 2}]
my_list = ["abracadabra", "somethingnewforus", "testandtestagain"]
new_list = []
for item in my_list:
my_dict = {key:item.count(key) for key in item}
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} -> {1: 8, 2: 8, 3: 13, 4: 14, 5: 21, 7: 3, 8: 2, 45: 22}
from collections import Counter #трошки чітерства
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 = Counter(dict1) + Counter(dict2)
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 = {key:list1.count(key) for key in list1}
dict2 = {key:list2.count(key) for key in list2}
values =[key for key in dict1.keys() if dict1.get(key, 0) > dict2.get(key, 0)]
print(values)