defaultdict 键默认值问题

defaultdict key default value issues

我是 Python 的新手,对 defaultdict 有疑问。 我有一些 json,其中 lastInspection 键并不总是存在。我需要为日期输入一个默认值。

p.get("lastInspection", "")returns我{'date': '2018-01-03'}

problem = [{'lastInspection': {'date': '2018-01-03'}, 'contacts': []}]

for p in problem:
    print(p.get("lastInspection", ""))
    print(p.get("date", ""))

我猜 defaultdict 不是您想要使用的。

应在 get 方法的第二个参数中声明默认值。

problem = [{'lastInspection': {'date': '2018-01-03'}, 'contacts': []}]
default_inspection = { 'date': '2018-01-03' }

for p in problem:
    # default_inspection is returned, when 'lastInspection' is not present in the json
    inspection = p.get("lastInspection", default_inspection)
    print(inspection)
    # now you access date, as you are sure, that it is present
    print(inspection['date'])