1. if起条件判断作用,满足条件的,返回最终生成的列表
[i for i in range(k) if condition]
[i for i in range(10) if i%2 == 0]
output:
[0, 2, 4, 6, 8]
2. if...else用来判断或赋值,满足条件的i以及j生成最终的列表
[i if condition else j for exp]
[i if i == 0 else 100 for i in range(10)]
output:
[0, 100, 100, 100, 100, 100, 100, 100, 100, 100]
应用在代码中:
state_dict = {
k: v
for k, v in state_dict.items()
if k in model_dict and v.shape == model_dict[k].shape
}
参考:
Tangent-Images/build.py at master · meder411/Tangent-Images · GitHub