【发布时间】:2019-07-30 21:50:38
【问题描述】:
我有一个复杂的对象。
目前它是字典列表的字典。但将来可能会发生变化,但仍只使用列表和字典。
我想查找类型为“datetime”的所有列表元素或字典值并将它们更改为字符串。
递归搜索似乎正在工作,但无法弄清楚如何将修改后的值写回相应的(dict val 或列表项)。
def mod_complex(c_obj):
if isinstance(c_obj, datetime.datetime):
print(c_obj)
c_obj = str(c_obj) ???
elif isinstance(c_obj, list):
for v in c_obj:
mod_complex(v)
elif isinstance(c_obj, dict):
for k, v in c_obj.items():
mod_complex(v)
【问题讨论】:
-
一种方法是从每次调用中返回它,另一种方法是在 for 循环中对字符串进行转换/分配,而不是再次递归到 self 中并使用要转换的值
标签: python python-3.x