Python列表生成式
Python内置了非常简介强大的用来创建list的生成式,可以快速生成list,并对一个list处理后得到另一个list:
常用使用方法:
(1)生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用:list(range(1, 11))
(2)循环生成list:print([x * x for x in range(1, 11)])等同于下面代码
L = []
for x in range(1, 11):
L.append(x*x)
print(L)
for循环后面还可以加上if判断(注意[]创建列表)
print([x * x for x in range(1, 11) if x % 2 == 0])
#或者
print(list(x * x for x in range(1, 11) if x % 2 == 0))
使用两层循环,可以生成全排列
print([x + y for x in '123' for y in 'abc')
for循环其实可以同时使用两个甚至多个变量
d = {'x':'A','y':'B', 'z':'C',}
print([x, '=', y for x, y in d.items()])
(3)把一个list中所有字符串变成小写
L = ['Hello', 'World']
print([s.lower() for s in L])