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

问题描述

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

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

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

我得到的是

File "<fstring>",line 1
    ((lambda x: x = 'next' if tc==1 else x = 'same'))
                  ^
SyntaxError: invalid Syntax

我需要的是,如果 tc 是 1,那么 lambda 函数应该返回 next else same。 然后我需要的最终结果是 (next day)(same day)

我确实尝试了其他一些没有给我错误但给我其他东西的东西。

timE = f"({(lambda : 'next' if tc==1 else 'same')} day)"

在这里得到的输出

03:08 AM,(<function add_time.<locals>.<lambda> at 0x7fe5b4660dc0> day)

我知道我正在尝试以某种方式以某种方式可能以某种方式尝试做,但我似乎无法找到它。
任何帮助表示赞赏

解决方法

为什么不只是这个?此处不需要 lambda。

timE = f"({'next' if tc==1 else 'same'} day)"