Python json按特定键值在列表中查找字典

Python json按特定键值在列表中查找字典,python,json,list,dictionary,Python,Json,List,Dictionary,我正在使用api获取有关公交线路的信息,并获得了一个信息字典列表 下面是一些例子 list = [{'start':'location A', 'end':'location B', 'routeNo':'1'}, {'start':'location C', 'end':'location D', 'routeNo':'2'}, {'start':'location E', 'end':'location F', 'routeNo':'3'}] 我正试图通过它的“routeNo”

我正在使用api获取有关公交线路的信息,并获得了一个信息字典列表

下面是一些例子

list = [{'start':'location A',
 'end':'location B',
 'routeNo':'1'},
{'start':'location C',
 'end':'location D',
 'routeNo':'2'},
{'start':'location E',
 'end':'location F',
 'routeNo':'3'}]
我正试图通过它的“routeNo”来获取有关特定路线的整个词典。例如,我想使用“3”获取此路线的信息。预期结果如下

{'start':'location E',
 'end':'location F',
 'routeNo':'3'}
我尝试过的最接近的事情是

print(list[2])
这并不理想,因为我并没有搜索它,我只是得到列表中的第三项


因此,我正在寻找其他方法来获得结果。谢谢。

以下是您可以搜索它的方法:

def find_route(data, route_no):
    return list(filter(lambda x: x.get('rounteNo') == route_no, data))

route = find_rounte(route_list, '3')
注:我将
list
重命名为
route\u list
。这是因为
list
是一个内置函数,您已经覆盖了它,这是一个糟糕的做法

另外,假设您是初学者,这里有一个更简单易懂的版本:

def find_route(data, route_no):
    return [route for route in data if route.get('rounteNo') == route_no]