for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。
7.3.1 在列表之间移动元素
confirmed_users.py
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
while unconfirmed_users:
current_users = unconfirmed_users.pop()
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user)
print("\nThe following uses have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
7.3.2 删除包含特定值的所有列表元素
pets.py
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
7.3.3 使用用户输入来填充字典
moutain_poll.py
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(name + " would like to climb " + response + ".")