- 假设有一个由数字组成的 list,现在需要把其中的偶数项取出来,组成一个新的 list。一种比较“正常”的方法是:
- 使用列表解析实现同样的效果:
- [i for i in list_1] 会把 list_1 中的每一个元素都取出来,构成一个新的列表。
- 对于原列表中的偶数项,取出后要除以2
假设有一个由数字组成的 list,现在需要把其中的偶数项取出来,组成一个新的 list。一种比较“正常”的方法是:
list_1 = [1, 2, 3, 5, 8, 13, 22]
list_2 = []
for i in list_1:
if i % 2 == 0:
list_2.append(i)
print list_2
输出
[2, 8, 22]
使用列表解析实现同样的效果:
list_1 = [1, 2, 3, 5, 8, 13, 22] list_2 = [i for i in list_1 if i % 2 == 0] print list_2
输出 [2, 8, 22]
[i for i in list_1] 会把 list_1 中的每一个元素都取出来,构成一个新的列表。
如果需要对其中的元素进行筛选,就在后面加上判断条件 if。所以 [i for i in list_1 if i % 2 == 0] 就是把 list_1 中满足 i % 2 == 0 的元素取出来组成新列表。
进一步的,在构建新列表时,还可以对于取出的元素做操作。
对于原列表中的偶数项,取出后要除以2
[i / 2 for i in list_1 if i % 2 == 0]
输出为 [1, 4, 11]