INNER CODE UNIT · Python
flatten
lishuangqiang/AI-Meeting · skills/xunzhi-ai-runtime/scripts/extract_config_index.py:30
def flatten(data: Any, prefix: str = "") -> dict[str, Any]:
result: dict[str, Any] = {}
if isinstance(data, dict):
for key, value in data.items():
next_prefix = f"{prefix}.{key}" if prefix else str(key)
result.update(flatten(value, next_prefix))
elif isinstance(data, list):
items = []
for value in data:
if isinstance(value, (dict, list)):
items.append(yaml.safe_dump(value, allow_unicode=True, sort_keys=False).strip())
else:
items.append(str(value))
result[prefix] = " | ".join(items)
else:
result[prefix] = data
return result