一.语法
列表解析式是将一个列表(实际上适用于任何可迭代对象(iterable))转换成另一个列表的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。
好处:
1.简洁
2.高效
其实列表解析式并不是必须的,因为它能完成的工作都能够通过for循环完成,但是列表解析式比手动的for循环语句运行得更快(往往速度快一倍),因为它们的迭代在解释器内部是以C语言的速度执行的,而不是以手动的Python代码执行的,特别是对于较大的数据集合,这是使用列表解析的一个主要的性能优点。
array=[ the thing you want to do/change | for statement (如果是嵌套for循环后可继续接for循环) | condition]
condition用于判筛选符合条件的元素
二.demo
nums=[1,2,3,4]
result=[]
for num in nums:
if num>2:
result.append(num*num)
# 和如下用python列表解析一样
result=[num*num for num in nums if num>2]