# 1. There is a list of mac addresses - create a list of commands to delete this mac # [‘aabbcc’, ‘a1b1c1’] -> [‘curl -X DELETE https://marina.ring.com/aabbcc’, ‘curl -X DELETE https://marina.ring.com/a1b1c1’] mac = ['aabbcc', 'a1b1c1'] curl = 'curl -X DELETE http://sds.com/' link =[] for i in mac: link.append([curl+i]) print(link) # 2. There is a string, for each letter return the position of last occurrence. # ‘abracadabra’ -> {'a': 10, 'b': 8, 'r': 9, 'c': 4, 'd': 6} st = 'abracadabra' a = {k:v for v, k in enumerate(st)} print(a) # 2.*There is a list of integers, create a dict with count of each element (have a look at defaultdict) # [1, 2, 4, 6, 2, 7, 1, 2, 1, 2, 2] -> {1: 3, 2:5, 4:1, 6:1, 7:1} # from collections import defaultdict st = [1, 2, 4, 6, 2, 7, 1, 2, 1, 2, 2] result = defaultdict(int) for integer in st: result[integer] += 1 print(result.items()) # There is a list of integers, return count of even elements: # [1, 2, 3, 4, 5, 6, 6, 6,7, 8, 22] -> 7 data = [1, 2, 3, 4, 5, 6, 6, 6, 7, 8, 22] result = [] for elem in data: if elem % 2 == 0: result.append(elem) print(len(result)) # There is a list of integers, return only those elements that can be divided by position index (add 0s) # [0, 3, 3, 6, 12, 7, 4, 21] -> [0, 3, 6, 12, 21] data = [0, 3, 3, 6, 12, 7, 4, 21] result = [v for k, v in enumerate(data) if k == 0 or v % k == 0] print(result) # Turn letters on even positions uppercase and on odd positions lowercase # "quick BROWN fox JUMPS over THE lazy DOG" -> 'QuIcK BrOwN FoX JuMpS OvEr tHe lAzY DoG' sent = 'quick BROWN fox JUMPS over THE lazy DOG' print(sent) print(''.join([v.upper() if k % 2 == 0 else v.lower() for k, v in enumerate(sent)]))