1
私はいくつかの値を取得しようとしています。そのカップルはi
とj
によって形成されます。それらの間の加算はN
またはN+1
となります。条件を満たす数字のリストが必要です。例えば N = 3であれば、私はこのような出力が必要です。これまでのsort()はリスト内包では機能しません
>>> [ [1,2], [2,2] ]
私のコードは次のとおりです。
N = 3
answer = []
answer = [(i,j) for i in range (1,N) for j in range(1,N) if [i,j].sort() not in answer and i+j == N or i+j == N+1 ]
print(answer)
が、私はこれを実行すると、私はこの出力を受け取る:
>>> [ [1,2] , [2,1], [2,2] ]
ここで、ネストされたリスト(カップル)[2,1]はrepetead要素です。なぜこのコードでソートが機能していないのですか?
副作用に応じて、単にnoと答えます。 –
私は@CharlesDuffyを理解していませんが、あなたは "副作用によっては何も言わない"という意味は何ですか?あなたがコードでいくつかの例を挙げることができれば、それは役に立つでしょう。 – Alexis
'list.sort()'は、並べ替えられたリストを返すのではなく、副作用*(用語の機能プログラミングの意味で)としてインプレース*をソートします。 –