[英]'continue' in a list comprehension having a function
如何continue
将具有功能的列表理解?
以下示例代码...
import pandas as pd
l = list(pd.Series([1,3,5,0,6,8]))
def inverse(x):
if x == 0:
print('not ok')
continue
else:
print('ok')
return 1/x
[inverse(x) for x in l]
...给出:
语法错误:“继续”未正确循环
预期输出为:
ok
ok
ok
not ok
ok
ok
[1.0, 0.3333333333333333, 0.2, 0.16666666666666666, 0.125]
如果您绝对需要打印,可以按如下所示将功能映射到列表,然后过滤掉None
不幸的是,您无法在理解列表中调用“ continue
”
l = [1,3,5,0,6,8]
def inverse(x):
if x == 0:
print('not ok')
return
else:
print('ok')
return 1/x
print([x for x in map(inverse, l) if x is not None])
如果您有多个条件,则很容易更改inverse
方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.