- 常见的问题
在使用python写循环代码时,经常会遇到这样的问题,那就是作为长度标尺的列表长度一直在变化,比如说在你写一个循环pop列表元素的程序时,这时候必须实时更新列表长度才行,如下。 - 解决办法示例
首先声明,dir_S是一个非空列表。如以下代码所示,在未添加最后一行的情况下,当我想将dir_S中的某些元素剔除时,我遇到了以上的问题,程序报错

而在添加了最后一行之后,问题解决。原因在于最后一行实现了不删除元素时立刻更新列表长度的功能。
length=len(dir_S)
for i in range(0,length):
if i < length:
if os.path.split(dir_S[i])[1] == 'DR8':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR7':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR6':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR5':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR4':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR3':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR2':
dir_S.pop(i)
elif os.path.split(dir_S[i])[1] == 'DR1':
dir_S.pop(i)
####以下是最后一行
else:
length=len(dir_S)
感谢浏览!
最后
以上就是纯真发箍最近收集整理的关于python写循环程序时,列表长度一直变化怎么办?简单方法示例。的全部内容,更多相关python写循环程序时内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复