~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ words = ['What', 'have', 'I'] words = ['What', 'have', 'I'] words = ['What', 'have', 'I', 'done', 'to', 'deserve', 'this'] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Map: Key Value WHAT [1, 4, 7] HAVE [2, 5, 8] I [-3, -6, 9] DONE [10] TO [11] DESERVE [12] THIS [-13] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **construct a dictionary/map** pos = 1; pos_dict = {}; “What”; pos_dict = {“WHAT”: [1]} pos = 2; pos_dict = {“WHAT”: [1]}; “Have”; pos_dict = {“WHAT”: [1], “HAVE”: [2]} pos = 3; pos_dict = {“WHAT”: [1], “HAVE”: [2]}; “I”; pos_dict = {“WHAT”: [1], “HAVE”: [2], “I”: [-3]} pos = 4; pos_dict = {“WHAT”: [1], “HAVE”: [2], “I”: [-3]}; “What”; ... ... pos = 13; …..   pos_dict = {“WHAT” : [1,4,7], “HAVE” : [2,5,8], ….} post_dict = {} pos_dict[key] = value list1 = [] s = “"     STEP 2:   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ pos_dict = {'WHAT': [1, 4, 7], 'HAVE': [2, 5, 8], 'I': [-3, -6, 9], 'DONE': [10], 'TO': [11], 'DESERVE': [12], 'THIS': [-13]} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   INVERT pos_dict   linear_dict = {} linear_dict = {1 : “WHAT”, 2: “HAVE”, 3:”I\\n”, 4:”WHAT”,……, 13:”THIS\\n"}