我在Python中有两个迭代,我想成对地遍历它们:
foo = (1, 2, 3)
bar = (4, 5, 6)
for (f, b) in some_iterator(foo, bar):
print "f: ", f, "; b: ", b
Run Code Online (Sandbox Code Playgroud)
它应该导致:
f: 1; b: 4
f: 2; b: 5
f: 3; b: 6
Run Code Online (Sandbox Code Playgroud)
一种方法是迭代索引:
for i in xrange(len(foo)):
print "f: ", foo[i], "; b: ", b[i]
Run Code Online (Sandbox Code Playgroud)
但这对我来说似乎有点不合时宜.有没有更好的方法呢?
我有纬度列表和经度列表,需要迭代纬度和经度对.
是否更好:
A.假设列表长度相等:
for i in range(len(Latitudes)):
Lat,Long=(Latitudes[i],Longitudes[i])
Run Code Online (Sandbox Code Playgroud)B.或者:
for Lat,Long in [(x,y) for x in Latitudes for y in Longitudes]:
Run Code Online (Sandbox Code Playgroud)(注意B是不正确的.这给了我所有的对,相当于itertools.product())
关于每个的相对优点的任何想法,或者更多的pythonic?