三元表达式、列表生成式等

发布时间 2023-06-01 16:04:08作者: 凡人半睁眼

一、三元表达式

1、引入

比价两个数的大小,正常函数写法

def my_max(a, b):
    if a > b:
        return a
    else:
        return b
my_max(1, 2)

2、三元表达式写法

def my_max(a, b):
    return a if a > b else b

res=my_max(1, 2)
print(res)

3、语法结构:
条件成立返回if前面的值 if 条件 else 条件不成立返回else后面的值
三元表达式的使用场景:只有当需求功能是二选一的情况下,才使用三元表达式

res = '干饭' if 2 > 1 else '不干饭'
print(res)

#还可以支持嵌套
is_beautiful = True
res = '干饭' if 1 > 2 else '学习' if False else '喜欢' if is_beautiful == True else '不喜欢'
print(res)

只要条件成立就返回对应的值

二、列表生成式

1、引入

name_list = ['kevin', 'tank', 'tony', 'jerry']
# 1. 给列表中的所以名称加一个后缀_DSB
# 2. 定义一个空列表用来存储拼接之后的值
new_name_list = []

# 3. 循环列表
for name in name_list:
    # res = '%s_DBS' % name
    # res = name +'_DSB'
    new_name_list.append('%s_DBS' % name)

print(new_name_list)

2、列表生成式写法

name_list = ['kevin', 'tank', 'tony', 'jerry']
res = [name+'_DSB' for name in name_list]
print(res)

3、给列表中的所有名称都加一个后缀_DSB, 除了jerry不加

name_list = ['kevin', 'tank', 'tony', 'jerry']
for name in name_list:
    if name != 'jerry':
        new_name_list.append('%s_DSB' % name)

print(new_name_list)