1

我想并行遍历两个列表并创建元素对,如下所示。

我的代码:

q_node_roots = ['A', 'B', 'C']
s_node_roots = ['X', 'Y', 'Z']

for q_node_pair, s_node_pair in zip([q_node_roots, q_node_roots[1:]], 
                                    [s_node_roots, s_node_roots[1:]]):
    print q_node_pair, s_node_pair

预期输出:

['A', 'B'] ['X', 'Y']
['B', 'C'] ['Y', 'Z']

生成的输出:

['A', 'B', 'C'] ['X', 'Y', 'Z']
['B', 'C'] ['Y', 'Z']
4

1 回答 1

3
>>> lis1 = ['A', 'B', 'C']
>>> lis2 = ['X', 'Y', 'Z']
>>> z1 = zip(lis1,lis1[1:])  #use itertools.izip in py2x for memory efficiency
>>> z2 = zip(lis2,lis2[1:])
>>> for x,y in zip(z1,z2):
...     print x,y

('A', 'B') ('X', 'Y')
('B', 'C') ('Y', 'Z')
于 2013-05-18T21:18:33.807 回答