Python 基础列表,从列表中删除元素

最近刚开始学python,学到基础列表的时候,从列表中删除元素。

for i in range(0,4):
    #guests.append(cus.pop(i))

cus列表大小为6,按常理来说guests[]里面应该有4个,但只有3个,而且到了第四个会
抛出异常

    guests.append(cus.pop(3))
IndexError: pop index out of range

原因:列表每删除一个元素,他的索引又会重新排序。当删除第四个的时候,列表cus其实长度只有3罢了。所以会抛出异常。
解决方案:
可以直接pop(0),持续四次,也可以在循环中pop(0)

guests.append(cus.pop(0))
guests.append(cus.pop(0))
guests.append(cus.pop(0))
print(guests)
guests.append(cus.pop(0))

这样就可以正常删除了。

你可能感兴趣的:(Python)