Transforming a list into a dictionary
Whenever you have that pattern, use a dict comprehension.

new_types = {t['type']: t for t in types}


That is more elegant and expressive, but no more performant than your original code. No matter what, you need to transform every item in the list. There's not much you can do to change that fact.