2017-10-09 60 views
-1

这是我写的代码:如何正确追加一个JSON的项目列表

with open('/file/to/json/FImageAnn.json') as json_data: 
    d = json.load(json_data) 
    # print(d[0]) 

for index, element in enumerate(d): 
#  print element[2] 
    listt = [] 
    if element[2] == 'y': 
     listt.append(1) 
    elif element[2] == 'n': 
     listt.append(0) 

    xy = []  
    for i in listt: 
     # groundtruth.append(i) 
     xy.append(i) 

在这段代码我打开其中包含我的图片的注释结果的JSON文件。他们是'y'或'n'。

我想要做的是提取'y'和'n'并将它们转换为1和0.这个我追加到列表中。当我打印列表时,我得到一个结果,其中列表只包含一个元素。喜欢的东西:

In [240]: listt 
Out[240]: [0] 

我期待这样的:

Out [240]: [1,1,1,1,1,1,1,1,1,1,0] 

这是当JSON包含11 'Y' 值和1 'N' 值。

有人可以帮忙吗?谢谢。

+0

如果'element [2]'既不是'y'也不是'n',那么你想放入'listt'中? –

+1

这与JSON有什么关系?你对JSON部分有任何问题吗? –

回答

2

您将列表创建放在for循环中,因此每次都将其重新创建为空列表,并将其移至for循环之外。

listt = [] 
for index, element in enumerate(d): 
+0

我的天啊,我简直不敢相信我那么傻。谢谢你指出。 – TheTank

相关问题