for循环为什么在列表长度还有3的时候就结束了?

img

guests = ['Bob','Eric','Linda']
guests.insert(0, 'Helen')
guests.insert(2, 'Jack')
guests.append('Tina')
print(len(guests))
for guest in guests:
if len(guests) >= 2:
pop_guest = guests.pop() #列表长度>=2就弹出
print(pop_guest)
print(len(guests))
print(guests) #为什么最后列表元素打印出来还有3个

因为你在循环时候改变了guests的长度,所以他就不能循环6次了,循环了三次就结束了,所以还有三个元素

if语句写错了是if len(guest) >= 2而不是if len(guests) >= 2