Python 3.8+;,lambda函数中的赋值

Python 3.8+;,lambda函数中的赋值,python,sorting,lambda,python-3.8,Python,Sorting,Lambda,Python 3.8,我有以下功能: sorted( [ #... ], key=lambda x: ( x.get("order", {}).get("data") is None, x.get("order", {}).get("data"), ), ) 我可以在这里使用赋值:=来存储变量中的x.get(“order”,“{}”).get(“data”)

我有以下功能:

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

我可以在这里使用赋值
:=
来存储变量中的
x.get(“order”,“{}”).get(“data”)

您可以,只需确保表达式的大小正确:

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

在将列表交给sortedSure之前,请使用列表理解。它对你怎么不起作用?
:=
应该起作用;但也有