Python dictsで奇妙なキーエラーが発生しました。私の鍵は "B19013_001E"で、私はdict "sf_tracts"にネストされたdict "properties"という名前を付けました。ここに私のコードです。これによりPythonキーエラー(_
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'])'は何を生成しますか?その1つのキーの正確な引用表現を共有できますか? –
あなたは '** sf_tracts'に複数の**辞書を持っています。 *すべての辞書にはそのキーがありません。あなたの 'for key in dictionary'ループは' tract ["properties"]:print tract ["properties"] [x] 'に置き換えることができます。 –