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を返す必要があります。

私はまだ[afora in b if c]表記の使い方を学ぼうとしています。誰か、1つの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 に答える