与えられた:
foo = (a,b,c,d,e,f)
multi = (b,d)
次のタプルを生成するジェネレータ内包表記は次のとおりです。
((a, None),
(b, True),
(b, False),
(c, None),
(d, True),
(d, False),
(e, None),
(f, None))
の項目はと でmulti
2 回表示さTrue
れFalse
、他の項目は で表示されNone
ます。
与えられた:
foo = (a,b,c,d,e,f)
multi = (b,d)
次のタプルを生成するジェネレータ内包表記は次のとおりです。
((a, None),
(b, True),
(b, False),
(c, None),
(d, True),
(d, False),
(e, None),
(f, None))
の項目はと でmulti
2 回表示さTrue
れFalse
、他の項目は で表示されNone
ます。
ネストされたループを使用して、メンバーシップ テストに基づいていずれかの iterable を選択できます。
((v, other) for v in foo for other in ((True, False) if v in multi else (None,)))
上記のネストされたfor
ループ バージョンは次のとおりです。
def gen():
for v in foo:
iterable = (True, False) if v in multi else (None,)
for other in iterable:
yield (v, other)