在list python下查找值

时间:2016-06-12 09:41:45

标签: python json

以下是我的JSON文件的示例(非常大)。我需要追加多个东西。对于key2key3我很容易添加,因为它很简单,但是当我尝试从value1添加value2key1时。它给了我TypeError: list indices must be integers, not str

[
    {
    "key1": [
        {
            "value1": int, 
            "value2": "string", 
            "value3": "string", 
            "value4": "string", 
            "value5": "string", 
            "value6": int
        },
     ],
    "key2": some value,
    "key3": some value,
    },
],    

1 个答案:

答案 0 :(得分:-2)

请记住,列表和INSIDE列表是字典.... 因此无法直接访问它。只是为了表明我会逐步做到......

y = d['key1'][0]

现在你是一本字典,这就是你出错的地方。

现在您可以像

一样访问value1了
value1 = y['value1']

假设这是你的json

  [
        {
        "key1": [
            {
                "value1": int, 
                "value2": "string", 
                "value3": "string", 
                "value4": "string", 
                "value5": "string", 
                "value6": int
            },
            {
                "value1":int
            }, 
         ],
        "key2": some value,
        "key3": some value,
        },
    ],

d是你的json的名字......
现在您想要访问字典中的所有value1, 你要做的是

value_1s = [k['value1'] for k in d['key1']]

这段代码正在做的是迭代存储在key1中的列表,其中的元素是字典,并从每个字典中获取value1并将其存储到新列表中。

所以现在你的value_1将拥有所有键......