首页 > 编程知识 正文

python删除列表元素的所有方法,Python删除列表中元素

时间:2023-05-05 10:42:31 阅读:282486 作者:267

博主现在刚刚入门Python,进行在完成书上作业的时候发现一个问题。作业要求是删除列表中的所有元素,而我在使用for语句时,发现一直删除不干净。

people = ['admin','yin','qi','zhang']if people: for person in people: people.remove(person)else: print("We need to find soeme users")print(people)

结果:[‘yin’, ‘zhang’]

经过在网上进行查询之后发现,就恍然大悟。当进行第一个循环时,是可以正常删除掉’admin’的,但是这个时候’yin’会补上来成为该列表的第一个元素,而这个时候变量person就指向了’qi’,所以这个时候就会对’qi’进行删除的操作。

所以我们将代码改成如下:

people = ['admin','yin','qi','zhang']if people: for person in people[:]:# people.remove(person)else: print("We need to find soeme users")print(people)

结果:[]

我们添加了"[:]"的操作,就是我们之前所学的切片,这个操作使得每一循环都是从列表的最开始的元素到最后一个元素的,因此就没有遗漏的问题了。

如果有解释错误或者你有更好的解释,欢迎在评论区评论。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。