使用 for 循环处理字符串、列表时,如果有 remove del pop等修改列表、字符本身的函数时,会出现 out of range 的错误。
主要原因 : for循环开始后,列表的索引是固定顺序的,固定地址的
使用这三个函数时,因为有元素不断离开,后续的元素会不断地递补,但是元素的地址是不变的,从而造成错误。
解决办法:倒序使用索引。命令:reversed(range(len(list)))。
原则:元素递补的方向 与 指针移动的方向 一致。
使用 for 循环处理字符串、列表时,如果有 remove del pop等修改列表、字符本身的函数时,会出现 out of range 的错误。
主要原因 : for循环开始后,列表的索引是固定顺序的,固定地址的
使用这三个函数时,因为有元素不断离开,后续的元素会不断地递补,但是元素的地址是不变的,从而造成错误。
解决办法:倒序使用索引。命令:reversed(range(len(list)))。
原则:元素递补的方向 与 指针移动的方向 一致。