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. forif 的结合简写

语法:

[判断为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]

更多推荐

Python简写操作(for、if简写、匿名函数)