【问题标题】:python: how to reduce to one-liner:python:如何减少到单行:
【发布时间】:2022-01-21 08:34:32
【问题描述】:

如何以最少的行数写出以下内容?

if a in dict:
   if b in dict[a]:
       if c in dict[a][b]:
            if d in dict[a][b][c]:
                 print("Value = ", dict[a][b][c][d])

使用 python 3.10

【问题讨论】:

    标签: python-3.x dictionary


    【解决方案1】:

    建议使用try/except 块而不是检查每个键是否存在。在你的情况下,我会选择:

    try:
        print("Value = ", dict[a][b][c][d])
    except KeyError as e:
        print(f"Missing key: {e}")
    

    【讨论】:

    【解决方案2】:

    您可以使用 AND 运算符将所有这些组合在一行中:

    if a in dct and b in dct[a] and c in dct[a][b] and d in dct[a][b][c]:
        print("Value = ", dct[a][b][c][d])
    

    但正如另一个答案所说,使用 try/except 是最佳做法。

    【讨论】:

      猜你喜欢
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      • 1970-01-01
      • 2016-02-16
      • 2012-12-09
      • 1970-01-01
      • 2017-10-19
      相关资源
      最近更新 更多