Python:如果在j ['category']中使用abc

oct*_*pus 1 python json list python-2.7

给定一个如下所示的JSON文件:

"foobar": [
    {
        "a": "true",
        "b": 1,
        "c": 1234,
        "d": 9,
        "e": "red"
    },
    {
        "a": "false",
        "b": 2,
        "c": 2345,
        "d": 7,
        "e": "green"
    },
    {
        "a": "whocares",
        "b": 3,
        "c": 3456,
        "d": 5,
        "e": "blue"
    }
]
Run Code Online (Sandbox Code Playgroud)

是否可以检查其中任何一个是否存在"蓝色" ,没有循环?

import simplejson
j = json.loads(superfile().text)
if "blue" in j['foobar'][ANYONE]['e']
Run Code Online (Sandbox Code Playgroud)

Cor*_*mer 6

正如@jonrsharpe所提到的,any例如,你最好的选择就是使用它

if any('blue' in i['e'] for i in j['foobar'])
Run Code Online (Sandbox Code Playgroud)

要么

if any('blue' == i['e'] for i in j['foobar'])
Run Code Online (Sandbox Code Playgroud)