Checking unique words and their abbreviations
Variable names
I assume that your dictionary: List refers to an English dictionary and not a data-structure dictionary. This is confusing. Consider calling it something like words.
PEP8
isUnique should be is_unique if LeetCode lets you.
Formatting
'{}{}{}'.format is a quite slow method of concatenating three strings in this case. Try instead
''.join((
   key[0],
   str(len(key) - 2),
   key[-1],
))

This should also be factored out into a function since you use it twice.
Define slots
Read about how to do this here:
https://docs.python.org/3/reference/datamodel.html#object.__slots__