【问题标题】:python KeyError python2.7python KeyError python2.7
【发布时间】:2015-12-05 15:54:28
【问题描述】:

我有一个 Python 问题,但我无法在适当的时候解决它,我认为我们将不胜感激。

我的硬盘驱动器 (JSON) 上有一些数据,我设法解析它。 不幸的是,有些钥匙不见了

例如我想根据一些键提取一些东西

examples['foo'] = map(lambda example: example['bar']['foo'] if example['bar'] != None else None, examples_data)

所以我知道我的数据集中缺少一些键(foo),并且我也知道我需要排除异常 KeyError。但是我无法捕捉到异常。

我正在使用 Python 2.7

我已经尝试用 try: code catch KeyError: 来包围块,但我认为我需要在循环中添加 try catch 块?

对于这样一个菜鸟编程问题我很抱歉,但我几乎从不使用 python,因此我有点生疏了。

提前致谢:)

【问题讨论】:

  • edit 提出您的问题并发布您迄今为止尝试过的内容,包括示例输入、预期输出以及任何错误或回溯的全文
  • 请重新格式化您的问题以使其更具可读性。到目前为止,您尝试过什么?
  • 如果您对 Python 不熟悉,您可能想尝试使用 for x in examples_data 将单行解构为多行以提高可读性

标签: python keyerror


【解决方案1】:

你可以使用dict.get:

 examples['foo'] = map(lambda example: example.get("bar", {}).get("foo"), examples_data)

【讨论】:

    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 2022-01-21
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多