Extract lines from file, add to new files

Greg Ewing greg.ewing at canterbury.ac.nz
Sat Jan 13 08:18:00 EST 2024


On 13/01/24 3:14 pm, Chris Angelico wrote:
> On Sat, 13 Jan 2024 at 13:11, Left Right via Python-list
> <python-list at python.org> wrote:
>>
>>   Very few
>> languages allow arbitrary complex expressions in the same place they
>> allow variable introduction.
> 
> What do you mean by this? Most languages I've worked with allow
> variables to be initialized with arbitrary expressions, and a lot of
> languages allow narrowly-scoped variables.

I think he means that in some languages the for-loop target serves as
the declaration of a new variable, and as such has to be a bare name.

Python isn't like that -- the target of a for-statement is treated
exactly the same way as the lhs of an assignment. It's not scoped to the
loop.

BTW, the equivalent thing is valid in C too, so anyone familiar with C
is unlikely to be surprised by this either.

#include <stdio.h>

int x[10];
int i;

int main() {
   i = 5;
   for (x[i] = 0; x[i] < 10; x[i]++)
     printf("%d\n", x[i]);
}

Output:

0
1
2
3
4
5
6
7
8
9

-- 
Greg


More information about the Python-list mailing list