小编nas*_*asc的帖子

如何在 f 字符串中使用 lambda 函数并有条件返回值?

我已经用谷歌搜索了很多,但似乎找不到有关这个问题的任何信息,或者也许因为我是菜鸟,所以我没有搜索正确的关键字。我确实发现了一个问题,但它在 lambda 函数中使用了 f 字符串,这与我需要的完全相反。

所以我有一个名为的计数器标志tc,它检查两个数字的总和是否超过某个预定义的常数。计数器标志工作正常并且获取10正确。我不能做的是程序的下一部分。
我想直接检查条件并以 f 字符串返回它。
到目前为止我已经能够做到这一点。

timE = f"({(lambda x: x = 'next' if tc==1 else x = 'same')} day)"
print(timE)
Run Code Online (Sandbox Code Playgroud)

我得到的是

File "<fstring>", line 1
    ((lambda x: x = 'next' if tc==1 else x = 'same'))
                  ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我需要的是 if tcis 1 那么 lambda 函数应该返回nextelse same。然后我需要的最终结果是(next day)or (same day)

我确实尝试了其他一些事情,它不会给我错误,但会给我其他东西。

timE = f"({(lambda : 'next' if tc==1 else 'same')} day)" …
Run Code Online (Sandbox Code Playgroud)

lambda string-formatting python-3.x f-string

3
推荐指数
1
解决办法
4510
查看次数

标签 统计

f-string ×1

lambda ×1

python-3.x ×1

string-formatting ×1