Python 3.8+,在 lambda 函数中赋值
Python 3.8+, assignment in lambda function
我有以下功能:
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,
),
)
我有以下功能:
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,
),
)