Python简写操作(for、if简写、匿名函数)
- 1. `for` 简写
- 1.1 一层 `for` 循环
- 1.2 两层 `for` 循环
- 2. `if` 简写
- 3. `for` 与 `if` 的结合简写
- 4. 匿名函数 `lambda`
1. for
简写
举个例子:
y = [1, 2, 3, 4, 5, 6]
result = [(i * 2) for i in y]
print(result)# Output:[2, 4, 6, 8, 10, 12]
1.1 一层 for
循环
语法(注意有中括号 []
):
[对i的操作 for i in 列表]
它相当于:
for i in 列表:对i的操作
1.2 两层 for
循环
语法(注意有中括号 []
):
[对i的操作 for 单个元素 in 列表 for i in 单个元素]
举个例子:
y_list = ['assss', 'dvv']
[print(i, end=' ') for y in y_list for i in y] # Output:a s s s s d v v
它类似于:
y_list = ['assss', 'dvv']
for y in y_list:for i in y:print(i, end=' ') # Output:a s s s s d v v
2. if
简写
语法:
True的逻辑 if 条件 else False的逻辑
举个例子:
y = 0
x = y + 3 if y > 3 else y - 1
print(x) # Output:-1
此时 x = -1
因为 y = 0
,所以判断 y>3
时执行了 False的逻辑:y-1
,所以 x
的值为 -1
3. for
与 if
的结合简写
语法:
[判断为True的i的操作 for i in 列表 if i的判断]
举个例子:
x = [1, 2, 3, 4, 5, 6, 7]
[print(i, end=' ') for i in x if i > 3] # Output:4 5 6 7
注:
使用简写的方式无法对 if 判断为 False 的对象执行操作。
4. 匿名函数 lambda
匿名函数的使用方法是:
lambda 参数: 表达式
举个例子:
x = 3
print((lambda k: k + 3)(x)) # Output:6
这是一个比较简单的匿名函数表达式,一般匿名函数会结合很多其他函数,作为 传递参数 的作用。
比如:
map()
配合匿名函数
map(函数名,列表)
这相当于对列表中的每个元素执行这个函数的操作。
举个例子:
result = list(map(lambda x: x * 2, [1, 2, 3, 4, 5]))
print(result) # Output:[2, 4, 6, 8, 10]