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

nas*_*asc 3 lambda string-formatting python-3.x f-string

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

所以我有一个名为的计数器标志tc,它检查两个数字的总和是否超过某个预定义的常数。计数器标志工作正常并且获取1或0正确。我不能做的是程序的下一部分。
我想直接检查条件并以 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)

我在这里得到的输出是

03:08 AM, (<function add_time.<locals>.<lambda> at 0x7fe5b4660dc0> day)
Run Code Online (Sandbox Code Playgroud)

我知道我想做的事情在某种程度上可能以某种黑客的方式进行,但我似乎找不到它。
任何帮助表示赞赏

Don*_*nat 5

为什么不只是这个呢?这里不需要 lambda。

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