繁体   English   中英

Python 如果条件满足则返回值但否则继续 for 循环的表达式

[英]Python Expression that returns a value if condition is met but otherwise continues a for loop

这听起来像是一个愚蠢而可怕的想法,这可能是因为它是。 Python(最好是单线)中是否有一种方法可以创建一个表达式,如果满足条件但如果不满足条件,它将改为执行语句(例如continue或方法调用)?

下面的示例用例(尽管此代码实际上不起作用):

def print_name_if_even(n):
    print(f"{ name if n % 2 == 0 else print("Uneven!") }")

我知道这可能是一个坏主意,但我正在挑战以尽可能少的行填充 function 定义,所以我想避免多行条件语句。

你的意思是这样的?

def f():
    # <your statement>
    return 'yourstatement'

print ([f(), 'Even!'][False])

False替换为计算结果为 True(=1) 或 False(=0) 的任何条件。 (这个很有趣)。 例如:

def f():
    # <your statement>
    return 'yourstatement'
n=2
print ([f(), 'Even!'][n%2 == 0])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM