什么叫列表生成式:Python内置的可生成list的表达式
例如:要生成一个list[1-10],可以用range()
>>> range(1,11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
有关range()解释可以百度下,以及需留意(1, 11)只会显示1-10的数字。
那如果要生成(1*1, 2*2, 3*3 ... 10*10)要如何解决?
方法一:利用循环
>>> L = [] >>> for x in range(1, 11): ... L.append(x*x) ... >>> L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
方法二:列表生成式
>>> [ x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
列表生成式的书写格式:[ x * x for x in range(1, 11)]
[process(x) for x in L if should_keep(x)]
上面为原型
1、将需要生成的内容放入x * x
2、后面跟上for循环起来