gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 02:01:07 25 4
gpt4 key购买 nike

我在谷歌上搜索了很多,但似乎找不到关于这个问题的任何信息,或者因为我是一个菜鸟,所以我没有搜索正确的关键字。我确实找到了一个问题,但它在 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 否则 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)"

关于python-3.x - 如何在 f 字符串中使用 lambda 函数并有条件地返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66741043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com