Pythonで手を試し始めたばかりで、いくつかのポインターが必要です。
特定のパラメータに基づいて組み合わせを生成しようとしています。
基本的、
parm1 = ['X1','X2']
parm2 = ['Y1','Y2']
このことから得たいことは
['X1','Y1','X1','Y1']
['X1','Y1','X1','Y2']
['X1','Y1','X2','Y1']
['X1','Y1','X2','Y2']
バイナリリスト(itertools.product( "01"、repeat = 4))を使用して、各要素を置き換えることができると思いました.
0 0 0 0
0 0 0 1
表すだろう
X1 Y1 X1 Y1
X1 Y1 X1 Y2
これを行う最適な方法は何ですか?
編集:もっと情報を追加してみましょう。
Colour = ['Black','White']
Type = ['Car','Bike']
だから、私はこれを次のようにフォーマットしようとしています
('Colour','Type','Colour','Type')
('0', '0', '0', '0')-->('Black','Car','Black','Car')
('0', '0', '0', '1')-->('Black','Car','Black','Bike')
('0', '0', '1', '0')-->('Black','Car','White','Car')
('0', '0', '1', '1')-->('Black','Car','White','Bike')
('0', '1', '0', '0')
('0', '1', '0', '1')
('0', '1', '1', '0')
('0', '1', '1', '1')
('1', '0', '0', '0')
('1', '0', '0', '1')
('1', '0', '1', '0')
('1', '0', '1', '1')
('1', '1', '0', '0')
('1', '1', '0', '1')
('1', '1', '1', '0')
('1', '1', '1', '1')-->('White','Bike','White','Bike')
リストのインデックスごとに if ステートメントを使用してこれを実行できることはわかっていますが、別の方法はありますか?
もう一度編集:
私はこれを書きましたが、もっとエレガントな解決策があると思いますか?
import itertools
q=[]
x=["","","",""]
q=list(itertools.product("01", repeat=4))
for p in q:
if float(p[0]) == 0:
x[0]= "Black"
else:
x[0] = "White"
if float(p[1]) == 0:
x[1]= "Car"
else:
x[1] = "Bike"
if float(p[2]) == 0:
x[2]= "Black"
else:
x[2] = "White"
if float (p[3]) == 0:
x[3] = "Car"
else:
x[3] = "Bike"
print p
print x