Python 3.x 如何在f字符串中使用lambda函数并有条件地返回值?
我在谷歌上搜索了很多,但似乎找不到关于这个问题的任何信息,或者可能因为我是一个noob,所以没有搜索正确的关键字。我确实发现了一个问题,但它在lambda函数中使用了一个f字符串,这与我需要的正好相反Python 3.x 如何在f字符串中使用lambda函数并有条件地返回值?,python-3.x,lambda,string-formatting,f-string,Python 3.x,Lambda,String Formatting,F String,我在谷歌上搜索了很多,但似乎找不到关于这个问题的任何信息,或者可能因为我是一个noob,所以没有搜索正确的关键字。我确实发现了一个问题,但它在lambda函数中使用了一个f字符串,这与我需要的正好相反 因此,我有一个名为tc的计数器标志,它检查两个数字的总和是否超过某个预定义常数。计数器标志工作正常,并正确获取1或0。我不能做的是节目的下一部分。 我想直接检查条件并以f字符串形式返回它。 到现在为止,我都能做到这一点 timE = f"({(lambda x: x = 'next' i
因此,我有一个名为
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
我得到的结果是
03:08 AM, (<function add_time.<locals>.<lambda> at 0x7fe5b4660dc0> day)
03:08上午(日)
我知道我想做的是以某种方式可能以某种方式黑客,但我似乎找不到它感谢您的任何帮助为什么不只是这个?在这里你不需要一个lambda
timE = f"({'next' if tc==1 else 'same'} day)"
这是做非常简单的事情的非常肮脏的方式,但如果你想做,这也行
timE=f“({(lambda x:'next'if x==1 else'same')(tc)}day)”
谢谢:)我不知道我能做到这一点
timE = f"({'next' if tc==1 else 'same'} day)"