for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,如何将他们移到另一个已验证用户列表中呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中。
大大的图
图片发自简书App
我的图
图片发自简书App
我们首先创建了一个未验证用户列表unconfirmed_users,其中包含丽丽、小明和大胖,还创建了一个空列表confirmed_users,用于存储已验证的用户。while循环将不断运行,直到列表unconfirmed_users变成空的。在这个循环中,函数pop()以每次一个的方式从列表unconfirmed_users末尾删除未验证的用户,并把删除值赋值到变量current_user。将验证用户以首字母大写的形式打印出来。把变量current_user值以append()方式加入到列表confirmed_users末尾。
完善了已验证用户列表confirmed_users之后,用for循环把里面的值打印出来。
这里面有一个有意思的事情是title(),upper(),lower()这样的函数奈何不了汉字。汉字不像字母,没有大小写。比如,把title()改成lower()结果还是不变