我是靠谱客的博主 大方乐曲,最近开发中收集的这篇文章主要介绍Python7.3使用while循环处理列表和字典,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

到目前为止,我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或者做出应答;循环再次运行时,获悉另一个输入值并作出响应。然而,要记录大量的的用户和信息,需要在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循环处理列表和字典所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部