res = sum((i+j)%k == 0 for x, i in enumerate(a) for j in a[x+1:])
ここで、aは配列です。以下のようにコーディングするには、どうすれば "pythonic"を書くことができますか?
私はこのコードが何をしているのか理解できません。i in enumerate(a) for j in a[x+1:]
はスペースを節約するために基本的にそのループ内のforループですか?
また、どうすればこのようなコードを書くことができますか?私はPythonを学ぼうとしています。
で割り切れますが、これは技術的にジェネレータの表現ではなく、リストの理解ではありませんか?だからあなたは本当にメモリに 'list'を作成することはありません。 – Keiwan
はい、それは発電機の理解です。 'sum'はメモリ内のリストを持つ必要がないので、一時リストは作成されません。 –
この場合、サム関数はカウンタを加算していますか? – jessibird