dicts_Maryna_Tkachuk

  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
# - дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку
# [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}
l = [6, 5, 3, 5, 9, 5, 4, 4, 3, 2, 7, 3, 6, 7, 2]
dict = {}
for n in l:
if n in dict:
dict[n]=dict[n]+1
else:
dict[n] = 1
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}
l = [7, 7, 4, 2, 8, 9, 2, 6, 4, 8, 8, 5, 7, 3, 2]
dict = {}
count = 0
for n in l:
dict[n] = count
count += 1
print(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]}
l = [4, 6, 4, 4, 6, 5, 7, 9, 6, 6, 5, 7, 5, 5, 3]
dict = {}
count = 0
for n in l:
if n not in dict:
list = []
list.append(count)
dict[n] = list
else:
a = dict[n]
a.append(count)
dict[n] = a
count += 1
print(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}
main_s = "abracadabra somethingnewforus testandtestagain".split(' ')
list = []
for word in main_s:
di = {}
for letter in word:
if letter in di:
di[letter] = di[letter] + 1
else:
di[letter] = 1
list.append(di)
print(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}
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 = {**dict1, **dict2}
for n in dict1:
if n in dict2:
dict3[n] = dict1[n] + dict2[n]
print(dict3)
# - дано два списки слів - повернути список слів, які зустрічаються в першому списку частіше ніж у другому
#["q", "qq", "w", "w", "ww", "as"], ["a", "q", "qq", "qq", "ww"] -> ['as', 'w']
list1 = ["q", "qq", "w", "w", "ww", "as", "ww"]
list2 = ["a", "q", "qq", "qq", "ww"]
dict1 = {}
dict2 = {}
final_list = []
for n in list1:
if n in dict1:
dict1[n]=dict1[n]+1
else:
dict1[n] = 1
print(dict1)
for n in list2:
if n in dict2:
dict2[n]=dict2[n]+1
else:
dict2[n] = 1
print(dict2)
for k in dict1:
if (k in dict2 and dict1[k]>dict2[k]) or (k not in dict2):
final_list.append(k)
print(final_list)