美文网首页
for循环中修改列表错误原因

for循环中修改列表错误原因

作者: 06am | 来源:发表于2021-06-07 20:31 被阅读0次

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)

运行结果:

结果
原因:
第一次执行结果(计数i = 0)confirmed_users = [‘alice’],unconfirmed_users = ['brian', 'eric']
第二次执行(计数i = 1),在列表unconfirmed_users[1]中,将删除'eric',结果是unconfirmed_users = ['brian', ],confirmed_users = [’alice‘,'eric']
执行结束。

相关文章

网友评论

      本文标题:for循环中修改列表错误原因

      本文链接:https://www.haomeiwen.com/subject/jevteltx.html