python笔记---while处理列表与字典

该博客主要介绍了Python中使用while循环处理列表和字典的相关内容,聚焦于信息技术领域中Python编程的循环应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python while循环处理列表和字典

        while循环处理列表和字典


        for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。

        通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输出,供以后查看和显示。


在列表之间移动元素


  1. #首先,创建一个待验证用户列表
  2. #和一个用于存储已验证用户的空列表
  3. unconfirmed_users =['alice','brian','candace']
  4. confirmed_users = []
  5. #验证每个用户,直到没有未验证用户为止
  6. #将每个经过验证的列表都移到已验证的用户列表中
  7. while unconfirmed_users:
  8. current_user = unconfirmed_users.pop()
  9. print("Verifying user: " + current_user.title())
  10. #显示所有已验证的用户
  11. print("\nThe following users have been confirmed:")
  12. for confirmed_user in confirmed_users:
  13. print(confirmed_user.title())

        模拟过程,打印一条验证消息并将用户加入到已验证用户列表中。未验证用户列表越来越短,而已验证的用户列表越来越长。未验证用户列表为空后结束循环,再打印已验证的用户列表:

  1. Verifying user: Candace
  2. Verifying user: Brian
  3. Verifying user: Alice
  4. The following users have been confirmed:
  5. Candace
  6. Brian
  7. Alice

删除包含特定值的所有列表元素

        使用函数remove()来删除列表中的特定值,因为函数remove()删除特定值。如果列表包含了多个相同条件的特定值,可以使用while循环进行逐一删除。

  1. pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
  2. print(pets)
  3. while 'cat' in pets:
  4. pets.remove('cat')
  5. print(pets)

打印结果

  1. ['dog','cat','dog','goldfish','cat','rabbit','cat']
  2. ['dog','dog','goldfish','rabbit']

使用用户输入来填充字典

        更多时候,字典中存储的信息都是记录用户输入的信息。将收集的数据存储在一个字典中,以便将回答和被调查者关联起来:

  1. responses = {}
  2. #设置一个标签,指出调查是否继续
  3. polling_active = True
  4. while polling_active:
  5. #提示输入被调查者的名字和回答
  6. name = input("\nWhat is your name? ")
  7. response = input("Which mountain would you like to climb someday? ")
  8. #将答案存储在字典中
  9. response[name] = response
  10. #看看是否还有人要参与调查
  11. repeat = input("Would you like to let another person respond? (Yes / No) ")
  12. if repeat == 'no':
  13. polling_active = False
  14. #调查结果,显示结果
  15. print("\n--- Poll Results ---")
  16. for name,response in responses.items():
  17. print(name + " would like to climb " + respose + ".")

打印输出结果

  1. what is your name? Eric
  2. Which mountain you like to climb someday? Denali
  3. Would you like to let another person respond? (Yes / No) yes
  4. What is your name? Lynn
  5. Which mountain would you like to climb someday? Devil's Thumb
  6. Would you like to let another person respond? (Yes / No) no
  7. --- Poll Resultes ---
  8. Lynn would like to climb Devil's Thumb.
  9. Eric would like to climb Denali.





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值