Bugün ikinci benzer konuyu yanıtlıyorum

replacements'a yeni bir anahtar kelime eklerken renklendirdiğim şekilde eklerseniz daha sağlıklı çalışır. değişecek kelime farklı bir kelime yada ek almışsa değişmeyecektir.
def get_dict(text):
replacements = {r'\bday\b':'days',
r'\bhour\b':'hours',
r'\bminute\b':'minutes'}
dic = {}
for i, j in replacements.items():
text = re.sub(i,j,text)
keys = text.split(" ")
for key in keys:
if(key in replacements.values()):
dic.update({key : int(keys[keys.index(key) - 1])})
return dicörneğiniz için kullanım:
string1 = '293 day 8 hour'
string2 = '56 day 1 hour 24 minute'
dict1 = get_dict(string1)
dict2 = get_dict(string2)
print(dict1)
print(dict2)
çıktısı:
{'days': 293, 'hours': 8}
{'days': 56, 'hours': 1, 'minutes': 24}