您可以尝试使用Type Hints来显式指定Map中的类型。以下是一个示例代码:
from typing import List, Dict, Any
def extract_data(data: Dict[str, Any]) -> List[Any]:
result = []
for key, value in data.items():
if isinstance(value, list):
result.extend(value)
else:
result.append(value)
return result
data_map = {
'name': 'John',
'age': 25,
'hobbies': ['reading', 'running'],
'address': {
'street': '123 Main St',
'city': 'New York'
}
}
data_list = extract_data(data_map)
print(data_list)
在这个示例中,extract_data
函数接受一个Dict[str, Any]
类型的参数data
,并返回一个List[Any]
类型的结果。函数遍历data
中的每个键值对,如果值是一个列表,则将其展开并将其元素添加到结果列表中;否则,直接将值添加到结果列表中。
这样,您可以通过显式指定参数和返回值的类型来解决AutoRefineV无法从Map中提取显式推断的问题。