DAY1:学习python的第一天

阅读 49

2022-03-17

关于列表的删除:
li1=[5,6,5,6,5,6,5,6]

for i in li1:
    if i==5:
        li1.remove(i)
>>>li1=[6,6,6,6]

li2=[5,6,5,6,5,5,5]
for i in li1:
    if i==5:
        li1.remove(i)
>>>li2=[6,6,5]
因为如果从列表中间删除元素,列表会收缩,被删除元素的后面的元素会向前移动,该元素之后的元素的索引就全变了
正确改法:
for i in range(len(li2)-1,-1,-1):
    if li2[i]==5:
        del li2[i]
>>>li2=[6,6]

精彩评论(0)

0 0 举报