繁体   English   中英

具有功能的列表理解中的“继续”

[英]'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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM