微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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)"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。