在python中从json创建值列表

2024-10-02 22:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下python代码:

def myprint(d):
    date_list = ""


    for k, v in d.iteritems():
        if isinstance(v, dict):
            myprint(v)
        else:
            if (k == "date"):
                date_list = date_list + " " + v


    print date_list

firebase = firebase.FirebaseApplication('https://my-firebase-db-958b1.firebaseio.com/', None)
result = firebase.get('/Dublin-Ireland', None)
myprint(result)

我正在阅读一个多级json并提取名为“date”的键的值。我试图收集json中的所有日期,并将它们存储在名为date_list的变量中。当我执行上面的代码时,date_list变量只包含一个date实例,它会在每个循环中覆盖自身。我做错了什么


Tags: 代码innonejsonfordateifdef
1条回答
网友
1楼 · 发布于 2024-10-02 22:29:11

您将返回myprint函数,在该函数中,日期列表变量被重新分配给空字符串。您需要在函数中提供该变量作为输入参数,并且需要返回列表而不是打印列表

像这样的

def myprint(d, date_list=None):
    if not date_list:
        date_list = ''

    for k, v in d.iteritems():
        if isinstance(v, dict):
            date_list = myprint(v, date_list)
        else:
            if (k == "date"):
                date_list = date_list + " " + v


    return date_list

你为什么不想要一份真正的清单呢?也许有更优雅的方法来处理这个问题,但是考虑到上面概述的信息,我相信这至少可以为您提供一个工作版本

相关问题 更多 >