列表解析

列表解析是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()])
#统计文件单词个数
#不足:统计长度之前要生成整个列表,若文件很大,那么代码的内存性能就会降低。
可用生成器表达式来替换列表解析式

 

posted @ 2018-04-04 20:39  dreamer123  阅读(1106)  评论(0编辑  收藏  举报