获取内部嵌套字典
Get inner nested dictionary
我试图从嵌套字典中获取任意值,但出现错误。
我的方法适用于一级 dict
,如下所示:
table = [
{
"A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
]
from operator import itemgetter
val = 525
for dv in table:
column_B = max(val, dv['B'])
if val <= dv['B']:
column_A = (dv['A'])
column_C = dv['C']
pct = dv['D']
break
但是如果我嵌套字典,我会得到一个错误。
table = [
"inner":{
{ "A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
}
]
上面的嵌套字典出现错误。我尝试过切片,甚至尝试过减少功能,但无法让它在这一点上发挥作用。我在这里弄错了什么?
[]
表示一个列表。 {}
表示字典。看起来您已经将两者部分混淆了。为了使 table
有意义,table
应该是一个字典,"inner"
应该是一个列表。
# This has a key, therefore it's a dict.
table = {
# This has no keys, so it's a list.
"inner": [
{ "A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
]
}
我试图从嵌套字典中获取任意值,但出现错误。
我的方法适用于一级 dict
,如下所示:
table = [
{
"A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
]
from operator import itemgetter
val = 525
for dv in table:
column_B = max(val, dv['B'])
if val <= dv['B']:
column_A = (dv['A'])
column_C = dv['C']
pct = dv['D']
break
但是如果我嵌套字典,我会得到一个错误。
table = [
"inner":{
{ "A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
}
]
上面的嵌套字典出现错误。我尝试过切片,甚至尝试过减少功能,但无法让它在这一点上发挥作用。我在这里弄错了什么?
[]
表示一个列表。 {}
表示字典。看起来您已经将两者部分混淆了。为了使 table
有意义,table
应该是一个字典,"inner"
应该是一个列表。
# This has a key, therefore it's a dict.
table = {
# This has no keys, so it's a list.
"inner": [
{ "A": 157,
"B": 221,
"C": 330,
"D": 380
},
{
"A": 510,
"B": 547,
"C": 660,
"D": 780
},
{
"A": 791,
"B": 1111,
"C": 1200,
"D": 3000
},
]
}