Как мне правильно ввести подсказку этой структуры python:
people = {
"john" : {"likes": "apples", "dislikes": "organges"},
"aisha": {"likes": "kittens", "dislikes": "ravens"}
}
Обновлено: могут быть указаны любые ключи - например. "Мария", "Иосиф", "Карл"... Я понимаю, что value-dict может быть напечатан как таковой
class _Preferences(TypedDict):
likes: str
dislikes: str
Но я не уверен, как напечатать сам people dict.






people: dict[str, dict[str, str]] = {
"john": {"likes": "apples", "dislikes": "oranges"},
"aisha": {"likes": "kittens", "dislikes": "ravens"}
}
Это должно работать на более новых версиях python3.
Вы можете определить TypedDict для значений, а затем аннотировать с ним словарь people:
from typing import TypedDict
class LikesDislikes(TypedDict):
likes: str
dislikes: str
people: dict[str, LikesDislikes]
people = {
"john": {"likes": "apples", "dislikes": "organges"},
"aisha": {"likes": "kittens", "dislikes": "ravens"},
}
Ваш словарь people не имеет фиксированной структуры, это строки. Вы не можете сделать гораздо больше об этом. Если он имеет фиксированную структуру, вы также можете записать его как TypedDict и установить LikesDislikes в качестве значений ключей. нравиться:
class People(TypedDict):
john: LikesDislikes
aisha: LikesDislikes
Но здесь это не имеет смысла.