python入行019(三元表达式、生成式、递归)

1 三元表达式

  语法格式: 条件成立时要返回的值 if 条件 else 条件不成立时要返回的值

res = 1 if 'egon' == 'egon' else 2222222222
print(res)
>>> 1

2 生成式

  2.1 列表生成式

l = ['alex_dsb', 'lxx_dsb', 'wxx_dsb', "xxq_dsb", 'egon']
# 把所有小写字母全变成大写
new_l = [i.upper() for i in l]
# 把所有的名字去掉后缀_dsb
new_l = [i.replace('_dsb', '') for i in l]

  2.2 字典生成式

keys=['name','age','gender']
dic = {i: None for i in keys}
print(dic)

items=[('name','egon'),('age',18),('gender','male')]
res={k: v for k, v in items if k != 'gender'}
print(res)

  2.3 集合生成式

keys=['name','age','gender']
set1={key for key in keys}
print(set1,type(set1))

  2.4 生成器生成式

g=(i for i in range(10) if i > 3)
print(g)

3 递归

  3.1 递归的定义

  在调用一个函数的过程中又直接或者间接地调用到本身。

猜你喜欢

转载自www.cnblogs.com/mmmmmrz/p/12567515.html