
您正在遍历列表并对其进行变异,这意味着您最终删除了错误的元素,可以使用reversed:
for num in reversed(lst): if num < 0: lst.remove(num)
或制作副本:
for num in lst[:]: if num < 0: lst.remove(num)
您还可以使用列表组件来修改原始列表:
lst[:] = [num for num in lst if num >= 0]
欢迎分享,转载请注明来源:内存溢出

您正在遍历列表并对其进行变异,这意味着您最终删除了错误的元素,可以使用reversed:
for num in reversed(lst): if num < 0: lst.remove(num)
或制作副本:
for num in lst[:]: if num < 0: lst.remove(num)
您还可以使用列表组件来修改原始列表:
lst[:] = [num for num in lst if num >= 0]
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)