Kseniia Fridman dict дано список чисел сформувати словник де кожному ч

  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
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Kseniia Fridman - dict
# - дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку
# [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}
list1 = [6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2]
result_dict = {}
for number in list1:
if number in result_dict:
k = result_dict[number] + 1
result_dict.update({number: k})
else:
k = 1
result_dict.update({number: k})
print('Dict 1: ', result_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}
list2 = [7, 7, 4, 2, 8, 9, 2, 6, 4, 8, 8, 5, 7, 3, 2]
result_dict2 = {}
for ind, element in enumerate(list2):
result_dict2[element] = ind
print('Dict 2: ', result_dict2)
# - дано список чисел - сформувати словник де кожному числу відповідає список індексів на яких воно зустрічається
# [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]}
list3 = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
result_dict3 = {}
for ind, element in enumerate(list3):
if element in result_dict3:
result_dict3[element].append(ind)
else:
result_dict3[element] = [ind]
print('Dict 3: ', result_dict3)
# - дано список рядків - сформувати список словників де кожен словник - це символ - кількість входжень
# ["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}]
str_list = ["abracadabra", "somethingnewforus", "testandtestagain"]
result_list = []
for string in str_list:
temp_dict = {}
for character in string:
if character in temp_dict:
k = temp_dict[character] + 1
temp_dict.update({character: k})
else:
k = 1
temp_dict.update({character: k})
result_list.append(temp_dict)
print('Dict 4: ', result_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}
entry_dict1 = {2: 8, 5: 11, 7: 3, 1: 5, 45: 14}
entry_dict2 = {3: 13, 5: 10, 8: 2, 1: 3, 45: 8, 4: 14}
exp_dict2 = entry_dict1.copy()
for num3 in entry_dict2:
if num3 in exp_dict2:
k = entry_dict2[num3] + exp_dict2[num3]
exp_dict2.update({num3: k})
else:
exp_dict2.update({num3: entry_dict2[num3]})
print("Dict 5: ", exp_dict2)
# - дано два списки слів - повернути список слів, які зустрічаються в першому списку частіше ніж у другому
# ["q", "qq", "w", "w", "ww", "as"], ["a", "q", "qq", "qq", "ww"] -> ['as', 'w']
string_list1 = ["q", "qq", "w", "w", "ww", "as"]
string_list2 = ["a", "q", "qq", "qq", "ww"]
result_list2 = []
dict_str1 = {}
for string in string_list1:
if string in dict_str1:
k = dict_str1[string] + 1
dict_str1.update({string: k})
else:
k = 1
dict_str1.update({string: k})
dict_str2 = {}
for string2 in string_list2:
if string2 in dict_str2:
k = dict_str2[string2] + 1
dict_str2.update({string2: k})
else:
k = 1
dict_str2.update({string2: k})
for new_string in dict_str1:
if new_string in dict_str2:
if dict_str1[new_string] > dict_str2[new_string]:
result_list2.append(new_string)
else:
result_list2.append(new_string)
print("Dict 6: ", result_list2)