美文网首页
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