2017-09-02 18 views
-2

2つのforループで2つのリストを解凍しようとしていますが、アイテムは繰り返されません。例えば:私は取得2 for forループでリストを解凍するには?

list1 = re.compile('postHeader.+?href="(.+?)".+?>(.+?)<.+?src=.+? src="(.+?)"', re.DOTALL).findall(html) 
list2 = re.findall('<p>Links.(+?)</p>', html) 
    for item1, item2, item3 in list1: 
     for item4 in list2: 
      print item1, item2, item3, item4 

結果は次のとおりです。 アイテム1、ITEM2、項目3、ITEM4はその後、ITEM1(前)、ITEM2(前)、ITEM3(前回)、ITEM4(変更)、その後ITEM1(前回)。 .. item1は4回繰り返され、item4は私が望むシーケンスで連続的に変化します。どのように同期させるのですか?

+0

達成しようとしていることを説明できますか? –

+0

あなたは 'zip'を探しています。 – timgeb

答えて

1

内蔵のzip機能を使用します。

>>> list1 = [(10, 11, 12), (13, 14, 15)] 
>>> list2 = [20, 21] 
>>> 
>>> for (item1, item2, item3), item4 in zip(list1, list2): 
...  print item1, item2, item3, item4 
... 
10 11 12 20 
13 14 15 21 
+1

それは働いた!ありがとう。 – Dzrte4gle

+0

@ Dzrte4gle問題はありません。答えを受け入れることを検討してください。 – timgeb