我有列表元组。列表的长度彼此相同。例如:
tol = ([1,2,3], [4,5,6])
我想循环所有两个列表,如:
for v1, v2 in some_operation(tol):
print "(%f, %f)" % (v1, v2)
以上代码应打印(1,4)\n(2,5)\n(3,6)\n
。
一种(小脏)方式是使用zip
for v1, v2 in zip(tol[0], tol[1]):
print...
你能告诉我更简单的方法吗?
答案 0 :(得分:2)
使用Zip会简单而干净
tol = ([1,2,3], [4,5,6])
for v1, v2 in zip(*tol):
print "(%d, %d)" % (v1, v2)
正如您所期望的那样,输出为(1,4)\n(2,5)\n(3,6)\n
。
答案 1 :(得分:1)
for v in zip(*tol):
print "(%f, %f)" % (v[0], v[1])