# - дано список чисел - сформувати словник де кожному числу відповідає кілікість раз це число зустрічається у списку [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)