简介
列表生成式是Python内置用来快速创建列表list的方法
生成一个list[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以直接用list(range(1, 11)
L = list(range(1,11))
print(L)#>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
还可以生成你想要的值,如:生成的列表每个元素都平方
#写列表生成式时,把要生成的元素x * x放在前面,后面用for循环生成式range(1, 11)
L = [x * x for x in range(1, 11)]
print(L)#>>>[1, 4, 9, 16, 25, 36, 49,64, 81,100]
for循环后面还可以加上if判断语句,进一步筛选出你想要的数据,如:打印出偶数
L = [x * x for x in range(1, 11) if x % 2 == 0]
print(L)#>>>[4, 16, 36, 64, 100]
还可以多层循环(类似嵌套循环)
L = [x + y for x in "ABC" for y in "abc"]
print(L)#>>>['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc']
PS:列表生成式并不是指只能通过range()方法来生成,而是只要能迭代的算法公式都可以用来作列表生成式,只需要将该公式放在列表“[]”内,它就成了所谓的列表生成式,如上面的可以用for加字符串来作列表生成式,因为在Python中字符串是可以迭代的