python中的三元表达式

三元表达式是一种简洁的方式来根据某个条件选择两个值中的一个。它由三个部分组成:条件判断、冒号(:)、然后是两个可能的结果。其基本语法如下:

value_if_true = True_value if condition else False_value

num = 5
output = "Positive" if num > 0 else "Negative"
print(output)    # "Positive"

age = 20
cn = "成年", "大于18" if age >= 18 else "未成年"
print(cn)  # ('成年', '大于18')  这里一定注意不要使用分号 ; ,否则只返回第一个语句的结果。

age = 20

cn = "成年"; "大于18" if age >= 18 else "未成年"
print(cn)  # 成年




# 在函数内部使用三元表达式
def even_num(num):
    return True if num % 2 == 0 else False
    
# 三元表达式用于列表推导式
li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# ret = [i for i in li if i % 2 == 0]
ret = [i if i % 2 == 0 else None for i in li]
print(ret)

# 三元表达式与 lambda  有时候可以将三元表达式与 lambda 进行结合,让代码变得更加简洁。
# 声明一个函数,返回最大值
def max(a,b):
    if a > b:
        ret = a
    else:
        ret = b
    return ret
r = max(10,15)
print(r)
# 由于上述代码非常简单,可以直接使用 lambda 匿名函数实现。
max = lambda a,b : a if a > b else b
r = max(10,15)
print(r) # 15

# 条件表达式可以嵌套使用,但是建议醉倒嵌套两层
# 编写一个三元表达式,首先判断其值大于20,然后在判断是奇数(案例,无实际意义)
num = 19
ret = '小于20' if num < 20 else ("奇数" if num % 2 ==1 else "偶数")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值