我是Python和解析数据的新手.
我可以将外部JSON提要拉入Python字典并迭代字典.
for r in results:
print r['key_name']
Run Code Online (Sandbox Code Playgroud)
当我浏览返回的结果时,当一个键没有值时,我会收到一个错误(记录的值可能并不总是存在).如果我打印结果,则显示为
'key_name': None, 'next_key':.................
Run Code Online (Sandbox Code Playgroud)
我的代码打破了错误.如何控制没有值的键?
任何帮助将不胜感激!
獾
Ale*_*lli 76
适用时的首选方式:
for r in results:
print r.get('key_name')
Run Code Online (Sandbox Code Playgroud)
None如果key_name不是字典中的键,这将简单地打印.您也可以使用不同的默认值,只需将其作为第二个参数传递:
for r in results:
print r.get('key_name', 'Missing: key_name')
Run Code Online (Sandbox Code Playgroud)
如果你想做一些与使用默认值不同的东西(比如,当密钥不存在时完全跳过打印),那么你需要更多的结构,即:
for r in results:
if 'key_name' in r:
print r['key_name']
Run Code Online (Sandbox Code Playgroud)
要么
for r in results:
try: print r['key_name']
except KeyError: pass
Run Code Online (Sandbox Code Playgroud)
第二个可以更快(如果它比一个钥匙丢失的相当罕见),但第一个看起来对许多人来说更自然.
如果 key 可能不存在,有两种直接的方法可以从 Python dict 中读取数据。例如:
dicty = {'A': 'hello', 'B': 'world'}
value = dicty.get('C', 'default value')
value = dicty['C'] if dicty['C'] else 'default value'
try:
value = dicty['C']
except KeyError as ke:
value = 'default value'
| 归档时间: |
|
| 查看次数: |
46318 次 |
| 最近记录: |