original = 'Has two optional arguments which must be specified.'
strings = [{'index': 3, 'string': 'foo'}, {'index': 7, 'string':
'bar'}, {'index': 12, 'string': 'abc'}]


meta_data=[(i['index'],i['string']) for i in strings]

track={}
for i,j in enumerate(original):
    track[i]=j

for k in meta_data:
    if k[0] in track:
        if track[k[0]]==' ':
            track[k[0]]=k[1]+' '
        else:
            track[k[0]] = k[1]





print("".join(track.values()))


#Hasfoo twobar optiabcnal arguments which must be specified.