0

有没有更好的编码方法?

def __contains__(self, e):
    return e in self.segments or True in [e in x for x in self.segments]

如果 e 在 self.segments 中或如果 e 在 self.segments 中的任何段中,此函数应返回 true。

我仍在尝试学习如何使用 [a for a in b if c] 符号,我希望 StackOverflow 的某个人可以帮助我简化该代码段。

4

1 回答 1

4
def __contains__(self, e):
    return e in self.segments or any(e in x for x in self.segments)

any在计算结果为的第一个元素上停止,True并且没有方括号,Python 不会创建中间列表。

阅读生成器表达式与列表理解

于 2012-07-05T01:53:11.020 回答