combs = [[a,b] for a in [3,2,5] for b in [1,2,3] if a = b] []内の計算される順番解説して

このコードは、2つのリスト [3, 2, 5][1, 2, 3] を使ってリスト combs を作成します。内側のリスト内包表記は、各要素 ab を取り、ab が等しい場合にのみ、[a, b] のリストを作成します。

計算される順番は次のようになります:

  1. 最初に、外側の for ループが a の値として 3 を選択します。
  2. 次に、内側の for ループが b の値として 123 の順に選択します。
  3. if 文が評価されます。ここで、ab の値が等しいかどうかを確認します。a3 であり、b123 のいずれかと等しくないため、[a, b] のリストは作成されません。
  4. 次に、外側の for ループが a の値として 2 を選択します。
  5. 内側の for ループが再び b の値として 123 の順に選択されます。
  6. if 文が再度評価されます。この時、a2 であり、b2 と等しいため、[a, b] のリスト [2, 2] が作成されます。
  7. 外側の for ループが a の値として 5 を選択します。
  8. 内側の for ループが再び b の値として 123 の順に選択されます。
  9. if 文が再度評価されますが、a5 であり、b5 と等しいペアは存在しないため、[a, b] のリストは作成されません。

したがって、最終的な結果は空のリスト [] になります。

未分類

Posted by ぼっち