为了账号安全,请及时绑定邮箱和手机立即绑定

Python:获取字典结构中的所有字符串

Python:获取字典结构中的所有字符串

吃鸡游戏 2023-03-08 16:16:54
由于某种原因,以下函数的运行时间非常慢:def get_content(d,content):    if isinstance(d,unicode):        content += d        content += u'\n'    elif isinstance(d,dict):        for key in d:            content += get_content(d[key],content)    elif isinstance(d,list):        for el in d:            content += get_content(el,content)    return contentcontent = get_content(D,u'')那是虽然D比较小。在尺寸方面没有什么疯狂的事情发生。您是否看到问题所在或解决任务的更好方法?编辑:我将代码更改为...def get_content(d,content):    if isinstance(d,unicode):        content += [d]    elif isinstance(d,dict):        for key in d:            content += get_content(d[key],content)    elif isinstance(d,list):        for el in d:            content += get_content(el,content)    return contentcontent = get_content(D,[])...它仍然有同样的问题。
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

问题是您在每次递归时都重新附加了全部内容。要解决这个问题,请将一个空列表传递给每个get_content调用。


def get_content(d,content):

    if isinstance(d,unicode):

        content += [d]

    elif isinstance(d,dict):

        for key in d:

            content += get_content(d[key],[])

    elif isinstance(d,list):

        for el in d:

            content += get_content(el,[])

    return content


content = get_content(D,[])


查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信