可以使用Python的typing模块来定义输入参数和返回值的类型,同时使用递归遍历容器中的每个元素,并使用Python的内置函数isinstance来检查每个元素的类型,最后将每个元素转换为指定类型并返回一个新的容器。以下是一个示例代码:
from typing import Any, List, Dict
def recursively_convert(container: Any, to_type: type) -> Any:
if isinstance(container, list):
return [recursively_convert(elem, to_type) for elem in container]
elif isinstance(container, dict):
return {key: recursively_convert(val, to_type) for key, val in container.items()}
else:
return to_type(container)
该函数接受两个参数:要转换的容器和目标类型。如果容器是一个列表,则递归地转换其每个元素并返回一个新列表;如果容器是一个字典,则递归地转换其每个值并返回一个新字典;否则,将单个元素转换为指定类型并返回。