使用python的for循环时,在for循环过程中需要修改循环变量时,发现在用for i in range(0,len(seq))的时候,在循环体不能修改 i 的值
如下图所示:
使用for循环时,过程中对 i 进行加1操作,但是最后还是按顺序打印出test列表的全部内容,意味着没有对循环变量加1成功
原因:python for 循环不能修改循环变量的原因是,range()像是一个迭代器,它只会输出信息,而不能修改迭代器的内容。python iterator的C结构是一个指针和一个对象列表。修改循环对象的值是C的思维方式,最好不要用在写python代码上
修改意见:见图中绿色部分,改为while循环方式

本文探讨了在Python中使用for循环时,为何不能直接修改循环变量i的原因,由于range()的迭代器特性。提供了将for循环转换为while循环以实现变量更新的方法,并强调了这种转换的适用场景。
1375

被折叠的 条评论
为什么被折叠?



