条件を満たすリストにいくつかの要素を追加したいので、forループでそれを行うためにジェネレータを使いました。問題は、同じジェネレータを使用して2番目のリストを作成するときに発生します。問題は、最初の要素が私が望む要素を取得し、2番目の要素が空の要素を返すことです。ここでは、コードは次のようになります。2つの変数i、jのPythonのif文を使ってforループを使うと空リストを返す
import itertools
n = 4
xxvars = [["x."+str(i+1)+"."+str(j+1) for j in range(n)]for i in range(n)]
yyvars = [["y."+str(i+1)+"."+str(j+1) for j in range(n)]for i in range(n)]
gen = ((i,j) for i,j in itertools.product(range(n),range(1,n)) if i != j)
thevars1 = [xxvars[i][j] for (i,j) in gen]
thevars2 = [yyvars[i][j]for (i,j) in gen]
これが返されます。
thevars1 = ['x.1.2','x.1.3','x.1.4','x.2.3','x.2.4','x.3.2','x.3.4','x.4.2','x.4.3']
thevars2 = []
を所望の出力は次のようになります。
thevars1 = ['x.1.2','x.1.3','x.1.4','x.2.3','x.2.4','x.3.2','x.3.4','x.4.2','x.4.3']
thevars2 = ['y.1.2','y.1.3','y.1.4','y.2.3','y.2.4','y.3.2','y.3.4','y.4.2','y.4.3']
は私のコードに何か問題があるのか、私は他の何かが足りないのですか?
はあなたのシフトキーがそれはあなたがコードの中で答えを与えることをうれしいですが、あなたは本当にOPなぜ彼らのコードのISN」に説明しなければならない答え –