The Fastest method to find element in JSON (Python)
本问题已经有最佳答案,请猛点这里访问。
我有JSON:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [ { "name":"Apple", "price":2, "have":0, "max":36 }, { "name":"Pineapple", "price":5, "have":6, "max":17 } ] |
我需要最快的函数,它接收名称并发送价格。例如,对于print(jsoname("apple")为2。
另外,请不要张贴循环答案,我知道。我需要快速的方法和方法的名称
以下是一个简单的方法:
1 2 3 4 | def function(json_object, name): for dict in json_object: if dict['name'] == name: return dict['price'] |
如果你确定没有重复的名字,一个更有效的方法是使用列表理解:
1 2 | def function(json_object, name): return [obj for obj in json_object if obj['name']==name][0]['price'] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from json import loads json ="""[ { "name":"Apple", "price":2, "have":0, "max":36 }, { "name":"Pineapple", "price":5, "have":6, "max":17 } ]""" parsedJson = loads (json) def jsonname (name): for entry in parsedJson: if name == entry ['name']: return entry ['price'] |