我有一个JSON,其中有多个{}
,它们都有'admissionCountTotal'
元素,只有一个除外。没有这个元素的元素可以是任何人,但是为了这个例子,让我们假设我们知道它是哪一个。在
{
"movie":{
"boxOffice":[
{"admissionCountTotal":123},
{"admissionCountTotal":456},
{"admissionCountTotal":1234},
{"admissionCountTotal":1253},
{"admissionCount":"this is not admissionCountTotal"},
{"admissionCountTotal":61723},
{"admissionCountTotal":1423},
{"admissionCountTotal":12323},
{"admissionCountTotal":5123}
]
}
}
我想检索在这些admissionCountTotal
中可以找到的最大值。这是可行的,所以我基本上找到了方法:
但是,这并不能:
max(data['movie']['boxOffice'][sem]['admissionCountTotal'] for sem in xrange(0,56))
有两个原因:
data['movie']['boxOffice'][4]['admissionCountTotal']
会出错。在data['movie']['boxOffice'][9]['admissionCountTotal']
且大于9会导致错误,因为在该值之上没有任何元素。但是,我不知道有多少个元素(除了不能超过56个元素)因此,我希望有某种类型的内联try
结构,我怀疑它可以解决我的两个问题。有可能吗?如果没有,我还能怎样解决我的问题?在
我不认为你需要try/except;你只需要一个遍历boxoffice元素的循环,而不是一个整数范围。在
由于这些项目中至少有一项没有总计,因此可以使用默认值
^{pr2}$get
:相关问题 更多 >
编程相关推荐