Предполагается, что у меня есть функция, которая преобразует символ в коллекцию строк, например -
from typing import Collection
def replace_in_collection(input_collection: Collection[str]) -> Collection[str]:
return [x.replace('a', 'b') for x in input_collection]
Как создать эту функцию универсальным способом, чтобы она возвращала тот же тип коллекции, что и вводтип (не просто список, как в примере функции выше).
То, что я хочу , имеет следующее поведение:
my_set = {'ab','ac'}
my_set_result = replace_in_collection(my_set)
type(my_set_result ) # --> set
my_list = ['ab','ac']
my_list_result = replace_in_collection(my_list)
type(my_list_result) # --> list
Есть ли способ создать это с пониманием, не используя индивидуальную проверку типов?