概述
到目前为止,我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或者做出应答;循环再次运行时,获悉另一个输入值并作出响应。然而,要记录大量的的用户和信息,需要在while循环中使用列表和字典。
for 循环是一种遍历列表的有效方式,但不应在 for 循环中修改列表,否则将导致python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
7.3.1在列表之间移动元素
假设有一个列表包含新注册但还未验证的网站用户。验证这些用户后,如何将他们移到另一个已验证的用户列表呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。代码可能类似于下面这样:
#首先,创建一个待验证用户列表
#和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice','brain','candace']
confirmed_users = []
#验证每个用户,直到没有未验证用户为止
#将每个经过验证的用户都移动到已验证用户列表中。
while unconfirmed_users:
curret_user = unconfirmed_users.pop()
print(f"Verfifying user:{curret_user.title()}")
confirmed_users.append(curret_user)
#显示所有已验证的用户
print("nThen following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
输出:
Verfifying user:Candace
Verfifying user:Brain
Verfifying user:Alice
Then following users have been confirmed:
Candace
Brain
Alice
7.3.2删除为特定值的所有列表元素
在之前,我们使用remouve()来删除列表中的特定值,是因为要删除的值只在列表中出现一次。下面看看如何删除列表中所有特定值的元素。
假设你有一个宠物列表,其中包含多个值为'cat'的元素。要删除所有这些元素,可不断的运行一个while循环,知道列表中不在出现'cat',如下:
pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
首先创建一个列表,其中包含多个值为'cat'的元素。打印这个列表后,python进入while循环,因为他发现cat在列表中至少出现了一次。进入这个循环后,python删除第一个cat并返回到while代码行,然后发现cat还包含在列表中,因此再进入该循环。
输出:
['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'dog', 'goldfish', 'rabbit']
7.3.3使用用户输入来填充字典
可使用while循环提示用户输入任意多信息。下面创建一个调查程序,其中的循环每次执行时都提示输入被调查者的名字和回答。我们将收集的数据存储在一个字典中,以后将回答和被调查者关联起来:
responses =[]
#设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
#提示输入被调查者的名字和回答
name = input("n请问怎么称呼?")
response = input("您星期天喜欢去哪? ")
#将回答存储在字典中
responses[name] = response
#看看是否有人还要参与调查
repeat = input("您还有别的回答吗?")
if repeat == 'no':
polling_active = False
#调查结果,显示结果
print("n-----结果------")
for name,response in response.items():
print(f"{name}喜欢去 {response}.")
最后
以上就是大方乐曲为你收集整理的Python7.3使用while循环处理列表和字典的全部内容,希望文章能够帮你解决Python7.3使用while循环处理列表和字典所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复