파이썬 dicts에 이상한 키 오류가 발생합니다. 내 열쇠는 "B19013_001E"이며 중첩 된 dict "속성"을 사용하여 내 dict "sf_tracts"의 이름을 지정했습니다. 여기에 내 코드입니다 :이파이썬 키 오류 _
x = "B19013_001E"
for tract in sf_tracts:
print tract["properties"][x]
, 나는 KeyError를 얻을 :이에 코드를 변경하는 경우 "B19013_001E"그러나
를, 값이 인쇄되는 :
이x = "B19013_001E"
for tract in sf_tracts:
for key in tract["properties"]:
if key == "B19013_001E":
print tract["properties"][x]
무엇입니까 차?
-edit- 다른 키를 인쇄 할 수 있으므로이 문제는 밑줄로 생각됩니다. 이 키에 어떻게 액세스합니까?
감사
정확하게'sf_tracts'에 무엇이 있습니까 – depperm
문자열에 밑줄에 특별한 것은 없습니다. 'print list (tract [ 'properties'])'는 무엇을 생성합니까? 당신은 그 하나의 키의 정확한 인용 표현을 공유 할 수 있습니까? –
당신은'** sf_tracts'에 하나 이상의 ** 사전을 가지고 있습니다. * 모든 * 사전에는 그 열쇠가 없습니다. 'for key in dictionary '루프는'tract [ "properties"] : print tract [ "properties"] [x]'로 바꿀 수 있습니다. –