Middle+
Sözlük ters çevirme fonksiyonunun tip anotasyonunu, anahtarların ve değerlerin yer değiştirdiğini gösterecek şekilde nasıl geliştirebilirim? TypeVar nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Чтобы аннотировать функцию, которая разворачивает словарь, меняя ключи и значения местами, можно использовать два параметра типа с помощью TypeVar. Это позволит явно указать, что типы ключей и значений меняются ролями.
Пример:
from typing import TypeVar, Dict
K = TypeVar('K') # Тип ключей исходного словаря
V = TypeVar('V') # Тип значений исходного словаря
def invert_dict(d: Dict[K, V]) -> Dict[V, K]:
return {v: k for k, v in d.items()}
Здесь TypeVar — это способ объявить параметр типа, который может быть любым типом, но при этом сохраняет связь между входными и выходными типами. Это позволяет сделать аннотацию более гибкой и точной, особенно в обобщённых функциях и классах.