【问题标题】:Python 3.8+, assignment in lambda functionPython 3.8+,在 lambda 函数中赋值
【发布时间】:2020-07-16 12:56:50
【问题描述】:

我有以下功能:

sorted(
    [
        #...
    ],
    key=lambda x: (
        x.get("order", {}).get("data") is None,
        x.get("order", {}).get("data"),
    ),
)

我可以在这里使用赋值:= 将x.get("order", {}).get("data") 存储在变量中吗?

【问题讨论】:

标签: python sorting lambda python-3.8


【解决方案1】:

你可以,只要确保正确地为表达式加上括号:

sorted(
    [
        #...
    ],
    key=lambda x: (
        (y := x.get("order", {}).get("data")) is None,
        y,
    ),
)

【讨论】:

    猜你喜欢
    • 2015-05-08
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2011-09-11
    相关资源
    最近更新 更多