《Python编程:从入门到实践(第二版)》自学笔记(十二)

利用while循环处理列表

在Python中,接触最频繁的,无非是:变量、、循环、列表、元素、元组、字典、函数、方法、类…..尽管有些还没接触,很快就会碰到

while对列表的处理,通常发生在列表与列表之间,从一个列表到另外一个列表,来回变动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 首先,创建一个待验证用户列表 
# 和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []

# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的用户都移到已验证用户列表中
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print(f"Verifying user: {current_user.title()}")
confirmed_users.append(current_user)

# 显示所有已验证的用户
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
输出:
Verifying user: Candace
Verifying user: Brian
Verifying user: Alice

The following users have been confirmed:
Candace
Brian
Alice

之前在刚开始接触列表时,曾经提及到删除列表中的某个元素,使用的是方法.remove( ),当但是也提醒的是:它只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除

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

利用while循环处理字典

对于利用while循环来处理列表,不深究,不细究。因为对于字典来讲,前面说过它里面的数据都是以键值对的形式存在的,那么对于利用while循环,需保存的数据就会渐渐增加,越来越多后容易造成代码的复杂,就跟嵌套中的第三种,字典字典一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
responses = {}

# 设置一个标志,指出调查是否继续
polling_active = True

while polling_active:
# 提示输入被调查者的名字和回答
name = input("\nWhat is your name? ")
response = input("Which mountain would you like to climb someday? ")
# 将回答存储在字典中
responses[name] = response
# 看看是否还有人要参与调查
repeat = input("Would you like to let another person respond? (yes/ no)
if repeat == 'no':
polling_active = False
# 调查结束,显示结果
print("\n--- Poll Results ---")
for name, response in responses.items():
print(f"{name} would like to climb {response}.")

输出:
What is your name?
Eric Which mountain would you like to climb someday?
Denali Would you like to let another person respond? (yes/ no) yes

What is your name?
Lynn Which mountain would you like to climb someday?
Devil's Thumb Would you like to let another person respond? (yes/ no) no

--- Poll Results ---
Eric would like to climb Denali.
Lynn would like to climb Devil's Thumb.
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2019-2024 Carrol Chen
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信