如何解决如何在 f 字符串中使用 lambda 函数并有条件地返回值?
我在谷歌上搜索了很多,但似乎无法找到有关此问题的任何信息,或者可能因为我是菜鸟,所以我没有搜索正确的关键字。我确实找到了一个问题,但它在 lambda 函数中使用了一个 f 字符串,这与我需要的完全相反。
所以我有一个名为 tc
的计数器标志,它检查两个数字的总和是否超过某个预定义的常量。计数器标志工作正常并正确获取 1
或 0
。我不能做的是程序的下一部分。
我想直接检查条件并在 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 举报,一经查实,本站将立刻删除。