【发布时间】:2017-01-12 04:34:08
【问题描述】:
到目前为止还没有找到令人满意的答案,因此将其作为一个新问题发布。
我必须做到以下几点:
我有一个参数,例如test_num = 5。
现在,在 for 循环的单次迭代中,我希望迭代器同时向前和向后运行。
所以作为输出,我想要这样的东西:
Forward is 0, backward is 5.
Forward is 1, backward is 4.
Forward is 2, backward is 3.
Forward is 3, backward is 2.
Forward is 4, backward is 1.
我唯一能想到的是:
test_num = 5
for j in range(test_num):
for i in range(test_num, 0, -1):
print "Forward is ", i, ", Backward is ", j
但这显然不是正确的方法。使用zip 是唯一的选择吗?因为zip 仅在我使用相同参数或两个参数相等的情况下才有效。我正在寻找足够灵活的东西。
【问题讨论】:
-
“参数相同或两个参数相等”是什么意思?
zip应该可以正常工作。 -
另外,您的“后向”数字是否是有意的
-
不清楚你为什么不想要zip,你能用例子解释一下
-
如果我有两个参数,比如
test_num1 = 5和test_num2 = 4,zip在第二个迭代器达到 4 时立即停止。 -
@tobias_k:是的,你是对的。 “向后”数字是向前反转并偏移 1。