【问题标题】:how to handle if a key in a list does not exist for some records in python?如果 python 中的某些记录不存在列表中的键,如何处理?
【发布时间】:2022-12-12 23:04:32
【问题描述】:

我有两条 a 的记录,如下所示 -

a = {"id": 109501179854432111, "created_at": "2022-12-12T14:30:04+00:00","emojis": [], "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null}

a = {"id": 109501179854432111, "created_at": "2022-12-12T14:30:04+00:00","emojis": [], "fields": []}, "media_attachments": [], "mentions": [], "tags": [], "emojis": [], "card": null, "poll": null,"application":{"name":"Metatext","website":null}}

如果有条件检查密钥是否存在并获取其值,我使用了以下方法 -

if a['application']:
   print(a['application'])

这适用于第二个 a 记录,但对第一个 a 记录给出以下错误 -

 if a['application']:
KeyError: 'application'

我们如何检查和处理这两种情况? 请帮忙。

【问题讨论】:

  • 试试if 'application' in a...
  • 不要直接访问它,试试这样的if 'application' is in a.keys()

标签: python list key-value


【解决方案1】:

您可以使用 .get 方法提供在缺少密钥时使用的默认值,如下所示

a = {"name":"John Doe","age":27}
b = {"name":"Jane Done"}
print(a.get("age","unknown"))  # 27
print(b.get("age","unknown"))  # unknown

请注意,abdicts(如果您坚持使用与语言无关的术语,则为关联数组)而不是 lists。

【讨论】:

    猜你喜欢
    • 2019-12-03
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    相关资源
    最近更新 更多