原创文章,欢迎转载。转载请注明:转载自 祥的博客
原文链接:https://cloud.tencent.com/developer/article/1596480
- @[toc]环境基础1.1. 基础语法格式1.2. 循环嵌套语法格式1.3. 循环+嵌套判断语法格式例子2.1. eg.基础语法格式2.2. eg.循环嵌套语法格式2.3. eg.循环+嵌套判断语法格式2.4. eg.筛选列表中的str变量,并使其变成小写参考文献
Python列表生成式
Python文档整理目录: https://blog.csdn.net/humanking7/article/details/80757533
Python 3.6
列表生成式 就是一个用来生成列表的 特定语法形式 的 表达式 列表生成式 即
List Comprehensions
,是Python
内置的非常简单却强大的可以用来创建list
的生成式
# 基础语法格式
[exp for iter_var in iterable]
解释:
等价于:
L = []
for iter_var in iterable:
L.append(exp)
# 循环嵌套语法格式
[exp for iter_var_A in iterable_A for iter_var_B in iterable_B]
解释:
iterable_A
中的一个元素,就把 ierable_B
中的所有元素都迭代一遍等价于:
L = []
for iter_var_A in iterable_A:
for iter_var_B in iterable_B:
L.append(exp)
# 循环+嵌套判断语法格式
[exp2 for iter_var in iterable if exp1]
等价于:
L = []
for iter_var in iterable:
if exp1:
L.append(exp2)
In [18]: [x*x for x in range(1, 6)]
Out[18]: [1, 4, 9, 16, 25]
In [19]: [ m+n for m in 'ABC' for n in '123']
Out[19]: ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
In [20]: [ x*x for x in range(1, 6) if x%2==0]
Out[20]: [4, 16]
In [21]: [ x*x for x in range(1, 6) if x%2==1]
Out[21]: [1, 9, 25]
In [22]: L1 = ['Hello', 'World', 18, 'Apple', None]
In [23]: L2 = [x.lower() for x in L1 if isinstance(x, str)]
In [24]: L2
Out[24]: ['hello', 'world', 'apple']
廖雪峰的Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1017317609699776
OK!
以上,Enjoy~