>>> list = [1, 2, 3, 4, 5, 6]
# 常规写法
>>> for i in list:
print(i)
1
2
3
4
5
6
# 加上对迭代变量i的操作
>>> print([i for i in list])
[1, 2, 3, 4, 5, 6]
# for if 合用
>>> print([i for i in list if i % 2 == 0]) # for if 合用
[2, 4, 6]
# for for 相当于两个for嵌套使用
>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> print([i + j for i in list1 for j in list2])
[5, 6, 7, 6, 7, 8, 7, 8, 9]
>>> print([i + j for i in list1 for j in list2 if i%2 == 0 and j%2 == 0])
[6, 8]
总结:
for的非常规写法语法是:
- 单个for
[对i的操作 for i in 集合 if 条件]
- 两个for
[对(i, j)的操作 for i in 集合1 for j in集合2 if 条件]
参考链接:
python if for 多种写法