列表解析是Python中的一个术语。用非常简洁的代码来生成一个列表。语法为:
[expr for iter_var in iterable]
如
sqdEvens=[x**2 for x in range(8) if not x%2] #生成的列表为[0,4,16,36]
#对于for中的每一个x,如果它满足x%2==0这个条件,那么将其平方加入列表当中,从而生成了以上列表
列表解析还可以用于多层循环。如计算某文件的单词个数:
f=open("123.txt",‘r‘) len([word for line in f for word in line.split()]) #统计文件单词个数
#不足:统计长度之前要生成整个列表,若文件很大,那么代码的内存性能就会降低。
可用生成器表达式来替换列表解析式