python中删除列表中的元素,python 删除列表中的元素
现在博主刚开始学Python,写完书作业发现了一个问题。作业需求是删除列表中的所有元素,但是当我使用for语句时,发现删除一直不干净。
People=[admin , yin , qi , Zhang ]if people:for person in people:people . remove(person)else:print(我们需要找到soeme用户)print (people) results: [yin , Zhang
网上搜了一下,发现了,恍然大悟。进行第一次循环时,可以正常删除 admin ,但此时会添加 yin 成为列表的第一个元素,此时变量person指向 qi ,所以此时会删除 qi 。
因此,我们将代码更改为以下内容:
People=[admin , yin , qi , Zhang ]if people:for person in people[:]:# people . remove(person)else:print(我们需要找到soeme用户)print (people) results: []
我们增加了[:]的运算,这是我们之前学过的切片。这个操作使得每个循环从列表的第一个元素到最后一个元素,所以没有遗漏问题。
如果有解释错误或者你有更好的解释,欢迎在评论区随意评论。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。