列表生成式:使用[表达式 for循环 条件]格式创建列表
#创建一个1-9的列表,直接生成或者for循环加入到空列表中
# list1 = list(range(1,10))
>>[1,2,3,4,5,6,7,8,9]
#使用列表生成式,for之前的x表达式表示列表当中元素
list1 = [x for x in range(10)]
print(list1)
>>[1,2,3,4,5,6,7,8,9]
#生成1,4,9,16...
list2 = [x**2 for x in range(10)]
print(list2)
#相当于
list2 = []
for i in range(10):
list2.append(i)
>>[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
#生成偶数列表list3 = [x
for x
in
range(
0,
10,
2)]
#通过step获取
print(list3)
>>[0, 2, 4, 6, 8]
list3=[i for i in range(0,10) if i%2==0]
print(list3)
>>[0, 2, 4, 6, 8]
#在1-100之间的偶数中筛选出20-50之间的偶数,可以在循环的后面添加判断条件
list4 = [i for i in range(1,101) if i%2==0 and i>=20 and i<=50]
print(list4)
>>[20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]
#将列表里面元素都小写操作
data = ['hello','AShds','hjhJjsSDD']
list5 = [i.lower() for i in data]
print(list5)
>>['hello', 'ashds', 'hjhjjssdd']
#列表生成式嵌套,列表生成式也可以多个for循环嵌套,但是会导致代码可阅读性降低,不建议使用
list6 = [[x,y] for x in range(3) for y in range(3)]
print(list6)
>> [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]