gpt4 book ai didi

Python-递归转换为字典列表中的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:59 25 4
gpt4 key购买 nike

我有一个字典列表,字典中有混合数据类型,即 str、int、float、dict、list 等。因此,我想确保 dict 中每个深度的每个项目都转换为字符串,如果它不是 int 或 str,即我希望将其放入 DynamoDB 中。这是我一直在尝试的代码:

  def to_map(data):
if(type(data) == list):
for item in data:
to_map(item)


if type(data) == dict:
for attr in data:
to_map(data[attr])

if (type(data) != str) and (type(data) != int):
return str(data)

return data

最佳答案

当你循环字典时,你只能得到键,而不能得到值。此外,由于 str(my_str) == my_str,您无需在转换之前检查值是否为 str。另外,使用 isinstance 而不是 type(x) == ?。您正在寻找这样的东西吗?

def to_map(data):
if isinstance(data, list):
return [to_map(x) for x in data]
elif isinstance(data, dict):
return {to_map(key): to_map(val) for key, val in data.items()}
elif isinstance(data, int) and not isinstance(data, bool):
return data
else:
return str(data)

关于Python-递归转换为字典列表中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49616659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com