import re
list_words = ["cat", "dog", "animals", "adam"]
text = "I have a lot of animals, cat and a dog"
pattern = r",*(\s*\b(?:{}))\b".format("|".join(list_words))
print( re.sub(pattern, r",\1", text) )
aW1wb3J0IHJlCmxpc3Rfd29yZHMgPSBbImNhdCIsICJkb2ciLCAiYW5pbWFscyIsICJhZGFtIl0KdGV4dCA9ICJJIGhhdmUgYSBsb3Qgb2YgYW5pbWFscywgICAgICAgY2F0IGFuZCBhICAgICBkb2ciCnBhdHRlcm4gPSByIiwqKFxzKlxiKD86e30pKVxiIi5mb3JtYXQoInwiLmpvaW4obGlzdF93b3JkcykpCnByaW50KCByZS5zdWIocGF0dGVybiwgciIsXDEiLCB0ZXh0KSApCg==