当前位置:   article > 正文

Python遍历列表时删除元素的几种方法_输入一个整数列表a,并输入一个整数x,删除列表中所有值为x的数,再输出列表。(利用

输入一个整数列表a,并输入一个整数x,删除列表中所有值为x的数,再输出列表。(利用

问题来源
删除列表中的指定元素

描述:
输入一个整数列表,并输入一个整数x,删除列表中所有值为x的数,再输出列表。

问题代码

a = list(eval(input()))
x = eval(input())
for i in a:
	if i==x:
		a.remove(i)
print(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

输入:3,4,1,1,1,7,9,1 1
输出:[3, 4, 7, 9,1]

可以发现,列表中的1并未完全去除。

原因用for发起任何形式的遍历时,它的遍历顺序是一开始就确定的,而在遍历中删除了元素导致了当前索引的变化。整个列表的元素向前移动,但i却在最初就确定了,所以导致漏删元素。

解决方法
1.最简单的方法

a = list(eval(input(
    本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/958022
    推荐阅读
    相关标签
      

    闽ICP备14008679号