元のコードはやや複雑でした。次のように単純化します。
与えられた:
- クラスインスタンスのリスト、例: l=[c1,c2,c3, ...]
- 各インスタンスには、c1.memList=[3,2,5]、c2.memList=[1,2] などのメンバー変数リストがあります。
Todo: memList が '3'-modulo item のみを持つ l のインスタンスを選択します (例: c3.memList=[3,6,9,3,27])。
私は次のようにコーディングすることを考えました:
newl = [ n for n in l if len( [m for m in n.memList if m%3] )==0 ]
しかし: リスト内包表記は、「m が定義されていません」と言ってこれを許可しません。
質問: これを pythonic の方法でコーディングするにはどうすればよいですか?
新しい編集:申し訳ありませんがタイプミスをしました(入力する場合はタイプミス)、うまくいきました。この質問を閉じることを提案します。