a = [1, 2, 3, 4]
# 对列表元素全部乘以2
for i in range(0, len(a)):
a[i] = a[i]*2
# 使用列表推导式
[i*2 for i in a]
# 例一
test1 = [i for i in range(3)] # test1 --> [0, 1, 2]
# 例二
test = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
test2 = [i[1] for i in test] # test2 --> [2, 5, 8]
# 例三
test = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
test2 = [test[i][i] for i in range(len(test))] # test2 --> [1, 5, 9]
# 列表推导式进阶--末尾添加if进行条件判断
b = [i for i in range(10) if i % 2 == 0] # b --> [0, 2, 4 ,6, 8]
# 执行顺序是:先执行for循环,然后执行if语句判断,最后执行最开始语句加入列表
# 列表推导式的嵌套
# 例四
test = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
c = [i for a in test for i in a] # c --> [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 列表推导式的嵌套添加if进行条件判断
d = [[x, y] for x in range(4) if x % 2 == 0 for y in range(4 ) if y % 3 == 0]
# d --> [[0, 0], [0, 3], [2, 0], [2, 3]]