2

次のように、クラスの属性と所定の文字列が文字列またはリストに含まれているかどうかを確認するコードがあります。

if (self.name in event and 'AL' in event) or (self.name in event and 'FH' in event)

これらを組み合わせるよりエレガントな方法があるかどうか疑問に思っているので、両方の条件で「イベント中」と 2 回入力する必要はありません。明らかに大したことではありませんが、私は物事を少しセクシーにするために常に市場に出ています.

4

2 に答える 2

4

(x && y) || (x && z)form の式を formに簡略化できますx && (y || z)。したがって、式を次のように書くことができます。

if self.name in event and ('AL' in event or 'FH' in event):
    #...
于 2013-01-09T00:00:10.770 に答える
3

self.name in event部分式からコンポーネントを因数分解し、 を使用any()して他の名前を反復処理できます。

if self.name in event and any(it in event for it in ['AL', 'FH', ...]):
    ...

(免責事項: これはテストされていないため、元の結果と同じ結果が得られるかどうかを再確認してください。)

于 2013-01-08T23:59:45.397 に答える