Я пытаюсь изменить только дубликаты элементов списка, а не оригинальные, но я не уверен, как это делается. Мне нужно только дублировать элементы списка для изменения в словаре, но не оригинал, который появляется первым. Как я это сделал ниже, меняются и оригинальные. Я хочу, чтобы это работало для каждого вида списка, а не только для конкретного.
c = 'Paul is 28 years old. Mary is 30 years old. Paul is a lawyer. Mary is a doctor'
lst = c.split(' ')
d = {'Paul': 'Thomas','Mary':'Smith' }
for key,value in d.items():
for i in range(0, len(lst)):
if lst[i] in d.keys():
lst[i] = d.get(lst[i])
print(lst)
out: ['Thomas', 'is', '28', 'years', 'old.', 'Smith', 'is', '30', 'years', 'old.', 'Thomas', 'is', 'a', 'lawyer.', 'Smith', 'is', 'a', 'doctor']
Но я хочу что-то вроде этого
['Paul', 'is', '28', 'years', 'old.', 'Mary', 'is', '30', 'years', 'old.', 'Thomas', 'is', 'a', 'lawyer.', 'Smith', 'is', 'a', 'doctor']