Closed
Description
A lot of times I pass data around using dictionaries. When I receive the data, for example as a function argument, what I want is a dict with that contains some specifics keys. I don't mind if the dict has more data.
So, I tried typed dicts:
Movie = TypedDict('Movie', {'name': str, 'year': int})
This works:
movie = {'name': 'Blade Runner', 'year': 1982} # type: Movie
But this throws the error Extra key 'has_sequel' for TypedDict "Movie"
:
movie = {'name': 'Blade Runner', 'year': 1982, 'has_sequel': True} # type: Movie
I can understand that you can't replace for the first value, because the result of keys
or items
is different.
But if I am only interested in having those keys, not iterating or other stuff, what are my options (if any)?