2017-08-08 6 views
0

私は.htmlファイルを作成しようとしているスクリプトがあります。 この.htmlファイルには、3行、左の行、右の行、中央の行があります。 生成する行はそれぞれ、titleとotherという2つの引数をとります。我々は二つのリストに保存され、左列と右列の要素を持っている例としてリストと混合のため

、1タイトルとDESCのために別のものである:ここでは

rightRowTitle = ['title2','title2'] 
rightRowDesc = ['Desc','Desc2'] 
leftRowTitle = ['l1','l2'] 
leftRowDesc = ['l1','l2'] 

は私が作ったものの一例である:

rightRowTitle = ['Tytul','Tytul2'] 
rightRowDesc = ['Desc','Desc2'] 

leftRowTitle = ['l1','l2'] 
leftRowDesc = ['l1','l2'] 


for title, desc in zip(rightRowTitle, rightRowDesc): 
    print(title,' - ', desc) 
for title, desc in zip(leftRowTitle, leftRowDesc): 
    print(title,' + ', desc) 

結果:私は、行を生成する関数を使用したら、今

Tytul - Desc 
Tytul2 - Desc2 
l1 + l1 
l2 + l2 

、私はそのような持っていると思いますn結果:

rightRowTitle 
rightRowDesc 
leftRowTitle 
leftRowDesc 
rightRowTitle2 
rightRowDesc2 

私は今のように静的にならないようにミックスするのが大好きです。

+0

したがって、すべてのコンボをランダムに作成するか、またはrightRow 1&2リストのすべてのコンボだけを作成するようにしますか? – Tony

+0

@トニー私は関数aと関数bを混ぜ合わせたいが、関数aは関数b(異なるリストから)とは異なるパラメータを取る。 –

+0

FYI:行は水平であり、列は垂直である。ポーランド語で(私はあなたの名前と "Tytul"の問題のためにそれを仮定している) "行"は "wiersz"であり、 "列"は "kolumna"です。文法のナチやスムースにしようとするのではなく、正しく理解される質問を簡単にしたいのです。 –

答えて

0

米国zipを2回送信することができます。

rightRowTitle = ['Tytul','Tytul2'] 
rightRowDesc = ['Desc','Desc2'] 
leftRowTitle = ['l1','l2'] 
leftRowDesc = ['l1','l2'] 

[print(a) for a in zip(zip(rightRowTitle, rightRowDesc), zip(leftRowTitle, leftRowDesc))] 

そして、あなたが取得します:

(('Tytul', 'Desc'), ('l1', 'l1')) 
(('Tytul2', 'Desc2'), ('l2', 'l2')) 
[None, None] 

が大きく例を見て:

rightRowTitle = ['Title1Right','Title2Right', 'Title3Right', 'Title4Right', 'Title5Right'] 
rightRowDesc = ['Desc1Right','Desc2Right', 'Desc3Right', 'Desc4Right', 'Desc5Right'] 
leftRowTitle = ['Title1Left','Title2Left', 'Title3Left', 'Title4Left', 'Title5Left'] 
leftRowDesc = ['Desc1Left','Desc2Left', 'Desc3Left', 'Desc4Left', 'Desc5Left'] 

[print(a) for a in zip(zip(rightRowTitle, rightRowDesc), zip(leftRowTitle, leftRowDesc))] 

をそして、あなたが得る:

(('Title1Right', 'Desc1Right'), ('Title1Left', 'Desc1Left')) 
(('Title2Right', 'Desc2Right'), ('Title2Left', 'Desc2Left')) 
(('Title3Right', 'Desc3Right'), ('Title3Left', 'Desc3Left')) 
(('Title4Right', 'Desc4Right'), ('Title4Left', 'Desc4Left')) 
(('Title5Right', 'Desc5Right'), ('Title5Left', 'Desc5Left')) 
[None, None, None, None, None] 

あなただけを反復処理する必要がありますあなたが探しているものを得るための結果!

def myFun(title, description): 
    print("Title: " + title + ". Desc: " + description) 

def myFun2(title, description): 
    print("TITLE: " + title + ". DESC: " + description) 

pairs = [a for a in zip(zip(rightRowTitle, rightRowDesc), zip(leftRowTitle, leftRowDesc))] 
pairs2 = [pair for pair in pairs] 

for p in pairs2: 
    myFun(p[0][0], p[0][1]) 
    myFun2(p[1][0], p[1][1]) 

をそして、あなたはこのような何かを得るでしょう:あなたの関数を呼び出すには、あなたがこのような何かを行うことができます

Title: Title1Right. Desc: Desc1Right 
TITLE: Title1Left. DESC: Desc1Left 
Title: Title2Right. Desc: Desc2Right 
TITLE: Title2Left. DESC: Desc2Left 
Title: Title3Right. Desc: Desc3Right 
TITLE: Title3Left. DESC: Desc3Left 
Title: Title4Right. Desc: Desc4Right 
TITLE: Title4Left. DESC: Desc4Left 
Title: Title5Right. Desc: Desc5Right 
TITLE: Title5Left. DESC: Desc5Left 

は、あなただけのあなたの機能をmyFunmyFun2を変更する必要があります。

+0

私はあなたに知らせてみましょう! @nestor –

+0

素敵ですが、私は何とか使っている2つの機能を持っていますが、これはむしろ不可能です。 何とかleft_row(title、desc)とright_row(title、desc)を使う必要があります。どのようなアイデア? –

+0

それは2つの異なるリストを取り込むべき2つの関数を持っています。 Left_rowリストのためのleft_rowとright_rowリストのright_row、あなたは2つの異なる機能またはおそらく3(cuzもcenter_row)のためにそれを変更することができます –

0

listとすべての説明を別のlistに保存することもできます。それらをシャッフルし、ペアを1つずつ作ります。

from random import shuffle 

titles = ['Tytul','Tytul2', 'l1','l2'] 
descriptions = ['Desc','Desc2', 'l1','l2'] 
shuffle(titles) 
shuffle(descriptions) 
for t, d in zip(titles, descriptions): 
    print(title + ' - ' + desc) 

申し訳ありませんが、これはあなたが探しているものではありませんが、これは、私はあなたの質問から理解するものである場合。

あなたはこのような何かを得るでしょう。ここ

// shuffled lists 
titles = ['l2', 'Tytul2','Tytul', 'l1'] 
descriptions = ['Desc', 'l2','l1', 'Desc2'] 

// After the print 
l2 - Desc 
Tytul2 - l2 
Tytul - l1 
l1 - Desc2 

@nestor

は、私が持っている状態である。

if len(rightRowTitle) > len(leftRowTitle): 
    for title, desc in zip(rightRowTitle, rightRowDesc): 
     right_row(title, desc) 
    for title, desc in zip(leftRowTitle, leftRowDesc): 
     left_row(title, desc) 

問題はそれだけでbasicalyますが、これは混ぜないであろう、あります最初に左の行と右の行の結果を表示します。私はこれをミックスしたいと思います。

+0

各関数は2つのパラメータを取ります。関数が何を意味するのか分かっていれば、関数は混在する必要がありますか? –

+0

@DamianBusz私はあなたを理解していません...あなたは何をお探しですか? –

+0

悪い編集私のメインの投稿 –

関連する問題