先创建一个列表:
list_a=[nan,1,2,3]
1、x for x in list_a if not np.isnan(x)
list_a=[elem for elem in list_a if not np.isnan(elem)]
list_a
等同于:
new_list=[]
for elem in list_a:
if not np.isnan(elem):
new_list.append(elem)
new_list
结果为:
[1, 1, 3]
2、x if not np.isnan(x) else None for x in list_a
list_a=[elem if not np.isnan(elem) else None for elem in list_a ]
list_a
等同于:
new_list=[]
for elem in list_a:
if not np.isnan(elem):
new_list.append(elem)
else:
new_list.append(None)
new_list
结果为:
[None, 1, 1, 3]
3、总结:
对于标题的情况,不管if和for哪个在前面,都是先执行for,再执行if!!
如有错误,请指正。