Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在json文件中获取具有特定较低级别键的最高值的顶级键?_Python - Fatal编程技术网

Python 如何在json文件中获取具有特定较低级别键的最高值的顶级键?

Python 如何在json文件中获取具有特定较低级别键的最高值的顶级键?,python,Python,我的json文件如下所示: { "One": { "action": "One", "delay": 1558834290.2415142, "seconds": 60, "score": 10, "delta": 1558828290.2415142, "grace_sec": 6060 }, "Two": { "action": "Two",

我的json文件如下所示:

{
    "One": {
        "action": "One",
        "delay": 1558834290.2415142,
        "seconds": 60,
        "score": 10,
        "delta": 1558828290.2415142,
        "grace_sec": 6060
    },
    "Two": {
        "action": "Two",
        "delay": 1558834292.6928985,
        "seconds": 60,
        "score": 9,
        "delta": 1558828292.6928985,
        "grace_sec": 6060
    }
}
我希望获得具有最高值
score
的顶级键,因此在本例中,我希望使用key
One

我试过:

with open("streak.json", "r") as read_file:
                data = json.load(read_file)

highest = max(int(d['score'] for d in data.values()))
但我得到了TypeError:int()参数必须是字符串、类似字节的对象或数字,而不是“生成器”

生成元组(内部值、外部键)才能获得所需的值

max((int(value['score']), key) for key, value in data.items())
这应该计算到此元组

(10, 'One') 

您可以根据需要进行处理。

您可以这样写:

result = max(data, key=lambda k: data[k]["score"])