ネストされたリスト内包表記の説明
ネストされたリスト内包表記は、イテラブルを使用して複雑なリストを動的に作成する簡潔な方法を提供します。これらの機能は同等の for ループを通じて理解できますが、体系的なアプローチは、さまざまな例に概念を適用するのに役立ちます。
構文と翻訳
ネストされたリストの内包表記は次の構文に従います。
[exp2([exp1 for x in xSet]) for y in ySet]
これを詳しく見ると、ySet の要素 y ごとに内部リストが作成されることがわかります。この内部リスト内で、式 exp1 が xSet の要素 x ごとに評価されます。最後に、外側のリスト内包表記は、作成された各内側リストを使用して exp2 を評価します。 &&&]
[exp1 for x in xSet for y in ySet]for ループと同等:
result = [] xSet の x の場合: ySet の y の場合: result.append(exp1)[exp1 for x in xSet for y in ySet][[[exp1 for x in xSet] for y in ySet]ループと同等:
[exp1 for x in xSet for y in ySet]結果 = [] ySet の y の場合: innerResult = [] xSet の x の場合: innerResult.append(exp1) result.append(innerResult)
[exp1 for x in xSet for y in ySet]
最も内側から開始します。 loop.
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) result.append(innerResult)
次の for ループに移動し、前のステップで作成したリストを iterable として使用します。内包表記の for ループごとにステップ 1 ~ 3 を繰り返します。
外部式 (exp2) を使用して最終結果を評価します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3