for循环是一种遍历列表的有效方式,但不应该在for循环中修改列表
unconfirmed_users = ["alice", 'brian', 'eric']
confirmed_users = []
print("Before:")
print(unconfirmed_users)
print(confirmed_users)
print()
#尝试修改
for user in unconfirmed_users:
print(f"Verifying user: {user.title()}")
confirmed_users.append(user)
unconfirmed_users.remove(user)
print("\nconfirmed users:")
for user in confirmed_users:
print(user.title())
print()
print("After:")
print(unconfirmed_users)
print(confirmed_users)
运行结果:
![](https://img.haomeiwen.com/i6256202/e3ba3bdccbc2bf3d.png)
原因:
第一次执行结果(计数i = 0)confirmed_users = [‘alice’],unconfirmed_users = ['brian', 'eric']
第二次执行(计数i = 1),在列表unconfirmed_users[1]中,将删除'eric',结果是unconfirmed_users = ['brian', ],confirmed_users = [’alice‘,'eric']
执行结束。
网友评论