Python 访问词典中的列表中的词典
以这本词典为例:Python 访问词典中的列表中的词典,python,list,for-loop,dictionary,Python,List,For Loop,Dictionary,以这本词典为例: { "Buildings": { "Building": [ { "ID": "1000201", "Name": "HARTWIG MARIE DOROTHY ADMINISTRATION BUILDING", "Abbreviation": "HARTW", "Campus": "Stephen M Ross Athletic Campus" }, { "ID": "1000700", "Name": "CR
{
"Buildings": {
"Building": [
{
"ID": "1000201",
"Name": "HARTWIG MARIE DOROTHY ADMINISTRATION BUILDING",
"Abbreviation": "HARTW",
"Campus": "Stephen M Ross Athletic Campus"
},
{
"ID": "1000700",
"Name": "CRISLER CENTER",
"Abbreviation": "CRIS",
"Campus": "Stephen M Ross Athletic Campus"
},
包含ID、名称等的词典列表将继续。
我正在尝试使用for循环访问这些内部字典。
campus_cds是一个包含16个数字的列表,函数get_buildings()用于提供上述信息
for campus_cd in campus_cds:
buildings = get_buildings(campus_cd)
building = buildings['Buildings']
bldg = building['Building']
因此,我能够进入第二个字典,代码行是“building=buildings['buildings']”
但是,当我尝试执行“bldg=building['building']”时,会出现错误“TypeError:'NoneType'对象没有属性”\uuuuuuuuuu“getitem”
我要做的就是访问键“Building”的值,它是一个列表。为什么这样不行
在我能够访问这个字典列表之后,我计划在列表中循环,将给定变量与每个字典中的“Name”进行比较,以找到匹配项。这意味着
buildings['buildings']
返回了None
而不是列表。请尝试打印建筑,检查它是否按预期工作。确实如此。我得到:{u'Building':[{u'缩写:u'HARTW',u'Campus':u'Stephen M Ross Sports Campus',u'ID':1000201,u'Name':u'HARTWIG MARIE DOROTHY ADMINISTRATION Building'}等等。因此,如果我在for循环之外做“bldg=Building['Building'”(导致校园中的建筑物在我的列表中有最后一个校园cd),代码有效。是否有可能信息太多?你的for循环会在校园CD
中的每个项目上迭代。它们都有有效数据吗?事实上,你的代码在for循环之外工作意味着最后一个项目有有效数据,但前面的项目可能没有。哇。救世主。正是这样。我应该有chec我想看看它们是否都包含数据。非常感谢!
"Building": [
{
"ID": "1000201",
"Name": "HARTWIG MARIE DOROTHY ADMINISTRATION BUILDING",
"Abbreviation": "HARTW",
"Campus": "Stephen M Ross Athletic Campus"
},