Python之列表生成式
列表的生成方式有下面三种:
(1)、用[]定义,比如 a = [1,2,3,4];
(2)、用 list()方法生成,比如 a = list((1,2,3,4));
(3)、用列表生成式
我们来看看列表生成式的基本语法:
[exp for iter_var in iterable]
1
其工作过程如下:
(1)、迭代 iterable 中的每个元素;
(2)、每次迭代都先把结果赋值给 iter_var,然后通过 exp 得到一个新的计算值;
(3)、最后把所有通过 exp 得到的计算值以一个新列表的形式返回。
其过程相当于下面这种语法:
L = []
for iter_var in iterable:
L.append(exp)
1
2
3
2
3
带过滤功能的列表生成式的基本语法:
[exp for iter_var in iterable if_exp]
1
其工作过程如下:
(1)、迭代 iterable 中的每个元素,每次迭代都先判断 if_exp 表达式结果为真,如果为真则进行下一步,如果为假则进行下一次迭代;
(2)、把迭代结果赋值给 iter_var,然后通过 exp 得到一个新的计算值;
(3)、最后把所有通过 exp 得到的计算值以一个新列表的形式返回;
其过程相当于下面这个例子:
L = []
for iter_var in iterable:
if_exp:
L.append(exp)
1
2
3
4
2
3
4
循环嵌套的列表生成式的格式:
[exp for iter_var_A in iterable_A for iter_var_B in iterable_B]
1
其工作过程是每迭代 iterable_A 中的一个元素,就把 ierable_B 中的所有元素都迭代一遍。
相当于下面这种写法:
L = []
for iter_var_A in iterable_A:
for iter_var_B in iterable_B:
L.append(exp)
1
2
3
4
2
3
4
作者:
本文链接:https://jokerbai.com
版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性-相同方式共享 4.0 国际 (CC-BY-NC-SA-4.0) 许可协议。转载请注明出处!
上次更新: 2025/07/19, 11:33:23
- 02
- 使用Zadig从0到1实现持续交付平台07-19
- 03
- 基于Jira的运维发布平台07-19