赞
踩
问题来源:
删除列表中的指定元素
描述:
输入一个整数列表,并输入一个整数x,删除列表中所有值为x的数,再输出列表。
问题代码:
a = list(eval(input()))
x = eval(input())
for i in a:
if i==x:
a.remove(i)
print(a)
输入:3,4,1,1,1,7,9,1 1
输出:[3, 4, 7, 9,1]
可以发现,列表中的1并未完全去除。
原因:用for发起任何形式的遍历时,它的遍历顺序是一开始就确定的,而在遍历中删除了元素导致了当前索引的变化。整个列表的元素向前移动,但i却在最初就确定了,所以导致漏删元素。
解决方法:
1.最简单的方法
a = list(eval(input(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。