【发布时间】:2018-06-07 23:10:30
【问题描述】:
因此,我在 python 中发现的一个问题是,创建每个都有自己的索引的嵌套循环不是很用户友好。
我将如何编写此 Java 代码的 Python 等效项:
for(int i = 0; i < array.length-2; i++){
for(int j = i+1; j < array.length-1; j++){
for(int k = j+1; k < array.length; k++){
请注意我如何为每个嵌套循环引用前任的计数器值。我尝试使用:
for idx, val in enumerate(nums[:-2]):
但似乎idx 将始终从 0 开始,而不是从前任的索引值开始。除了维护单独的计数器变量之外,还有更好的解决方案吗?
【问题讨论】:
-
我在这里闻到了 XY 问题。你想解决什么问题?不同语言之间通常没有 1-1 映射(这里有),甚至可能有更好的 Python 方法来解决 Java 不提供的相同问题。
-
供参考,一点都不难。
for i in range(len(arr) - 2): for j in range(i + 1, len(arr) - 1): for k in range(j + 1, len(arr)): ...使用带有range的嵌套循环将是显而易见的方法。 -
目标只是遍历一个数组并对每个三元组做一些事情。看起来我没有使用直接引用当前元素的增强型 for 循环,而是使用索引值来引用数组中的元素(即 array[i] vs val)
标签: python loops for-loop iteration