Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python for JSON循环之后丢失值_Python_Json - Fatal编程技术网

在Python for JSON循环之后丢失值

在Python for JSON循环之后丢失值,python,json,Python,Json,在python解析JSON时遇到了一个简单的for循环,我的一些记录可以在其中工作(为print返回a值),而大多数都不能。我已经确认JSON记录在“description”节点中确实有数据。我认为这些值被覆盖了 以下是循环: features = json_record['features'] title_list = [] description_list = [] for i in features:

在python解析JSON时遇到了一个简单的for循环,我的一些记录可以在其中工作(为print返回a值),而大多数都不能。我已经确认JSON记录在“description”节点中确实有数据。我认为这些值被覆盖了

以下是循环:

        features = json_record['features']
        title_list = []
        description_list = []
        for i in features:
            title = i['title']
            title_list.append(title)
            description = i['description']
            description_list.append(description)
            print description_list  # this ALWAYS works, and returns the list
        print description_list  # this only SOMETIMES work, else returns nothing
示例json:


“功能”:[{sequence:“0”,“title:“colors”,“description:“lighting scenes.”,“valueOf:“Choose from
favorite light scenes.”,{sequence:“1”,“title:“at your fingertips”,“description:“light output.”,“valueOf:“features at your fingertips
light output.”}
这应该有效,但还不清楚目标是什么

json_record = {
    "features":
        [{"sequence":"0", "title":"colors", "description":"lighting scenes.","valueOf":"<b>Choose from<\/b><br>favorite lighting scenes."},
         {"sequence":"1","title":"at your fingertips","description":"light output.","valueOf":"<b>features at your fingertips<\/b><br>light output."}
        ]
}

title_list = []
description_list = []

[(description_list.append(f["description"]),  title_list.append(f["title"]))
 for f in json_record["features"]
]
print title_list
print description_list
json\u记录={
“特点”:
[{“序列”:“0”,“标题”:“颜色”,“描述”:“照明场景”,“值”:“从
喜爱的照明场景中选择”。}, {“序列”:“1”,“标题”:“在您的指尖”,“描述”:“光输出”。,“值”:“在您的指尖的特征
光输出”。} ] } title_list=[] description_list=[] [(description_list.append(f[“description”])、title_list.append(f[“title”])) 对于json_记录中的f[“功能”] ] 打印标题列表 打印描述列表
你能分享一个输入/输出对来举例说明这个问题吗?@Sebastian补充说jsonSo,这个代码被多次调用,有时它会打印…什么?实际上什么都没有,或者可能是
[]
?如果
“功能”
列表是空的,你会得到一个空列表。要调试,请添加
断言功能,“需要功能”
就在
for
循环之前,看看你的假设是否正确。我想,如果你能解释你将要实现的目标,会更容易帮助你……正如@tdelaney所说,描述列表很可能在循环之后变为空。你确定这段特定的代码按照你所描述的那样工作吗n除了json,您可以添加打印的内容吗?这是您正在运行的确切代码段,还是您从一个更大的程序中提取了它,并且只显示“相关”部分?这会缩小代码,但不会生成
title\u list
,也不会修复问题。OP仍然会看到奇怪的结果。