我有这个结构,使用json.load(json)
转换
jsonData = [ {
thing: [
name: 'a name',
keys: [
key1: 23123,
key2: 83422
]
thing: [
name: 'another name',
keys: [
key1: 67564,
key2: 93453
]
etc....
} ]
我有key1check = 67564
,
我想检查某个事物的 key1 是否与该值匹配
if key1check in val['thing']['keys']['key1'] for val in jsonData:
print ('key found, has name of: {}'.format(jsonData['thing']['name'])
这应该有效吗?有更好的方法吗?
最佳答案
不完全是:
- in 用于包含在序列中,例如字符串或列表。您正在比较整数值,因此您需要一个简单的 ==。
- 你给定的结构不是合法的Python:你在想要字典的几个地方都有括号;你需要的是大括号。
否则,你做得很好......但你不应该不问我们它是否有效:通过运行代码询问Python解释器。
尝试一下你的结构:
jsonData = [
{ "thing": {
"name": 'a name',
"keys": {
"key1": 23123,
"key2": 83422
} } },
{ "thing": {
"name": 'another name',
"keys": {
"key1": 67564,
"key2": 93453
} } }
]
关于python - 检查给定值是否在嵌套字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43483690/