+ 2
Doubts with for loop
If I do this what happens? for _ in range(10): for _ in range(64): … And what if I wanted to use that variable that iterates in the range function?
6 odpowiedzi
+ 9
Giovanni Paolo Balestriere you can do that in Python, and it behaves nicer than in other languages.
The outer loop begins iterating through its range, assigning _ to the first range value. The inner loop reassigns _ to the first range value in its own range, then iterates through its range. At the end of the inner loop, _ will equal 64. It will stay at 64 until the outer loop begins the next iteration. Then _ gets assigned the next value from the outer loop range. The cycle repeats.
+ 7
run the code. observe what happens.
+ 5
If you want to use the loop variable inside the loop, then give it a meaningful name.
By convention, the underscore means that the value is irrelevant and you don't care and won't use it.
+ 4
Giovanni Paolo Balestriere ,
to get a better understanding of how the loops are working, you can use different value ranges.
for outer_ in range(3): # values: 0, 1, 2
for inner_ in range(4, 7): # values: 4, 5, 6
print(f'outer loop: {outer_}, inner loop: {inner_}')
result will be:
outer loop: 0, inner loop: 4, sum of outer_ + inner_: 4
outer loop: 0, inner loop: 5, sum of outer_ + inner_: 5
outer loop: 0, inner loop: 6, sum of outer_ + inner_: 6
outer loop: 1, inner loop: 4, sum of outer_ + inner_: 5
outer loop: 1, inner loop: 5, sum of outer_ + inner_: 6
outer loop: 1, inner loop: 6, sum of outer_ + inner_: 7
outer loop: 2, inner loop: 4, sum of outer_ + inner_: 6
outer loop: 2, inner loop: 5, sum of outer_ + inner_: 7
outer loop: 2, inner loop: 6, sum of outer_ + inner_: 8
+ 3
Save yourself (and your code reader) one trouble, please use meaningful variable names. Use of underscore for variable name here can cost you when you want to use the variable.
Go ask yourself this question "Which _ variable is it? is it one from the outer loop? or is it one from inner loop?"
+ 1
[Python]
In Python, using the underscore (`_`) as the variable name in a loop is a convention to indicate that the variable is intentionally unused. In the provided nested loops:
```python
for _ in range(10):
for _ in range(64):
# some code
```
the inner loop will run 64 times for each iteration of the outer loop, resulting in a total of \(10 \times 64 = 640\) iterations of the innermost code block.
However, if you want to use the variable that iterates in the `range` function, you should give it a meaningful name instead of `_`. Here's how you can do it:
```python
for i in range(10):
for j in range(64):
print(f"Outer loop iteration: {i}, Inner loop iteration: {j}")
```
In this example, `i` is used for the outer loop and `j` for the inner loop. You can then use `i` and `j` within the loop bodies as needed. This way, you can perform operations that depend on the current iteration indices.