关于python:如何解压缩2 for for循环中的列表?

How to unpack lists in 2 for loops?

我正在尝试将2个列表中的2个列表解包为循环,而不重复该项。例如:

1
2
3
4
5
6
7
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,项目2,项目3,项目4,然后项目1(上一个),项目2(上一个),项目3(上一个),项目4(更改),然后项目1(上一个)…item1重复4次,而item4不断地变化,按我想要的顺序进行。如何使一切同步?


使用内置的zip功能。

1
2
3
4
5
6
7
8
>>> 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