Python使用while循环处理列表和字典

1.在列表之间移动元素

下面的例子是使用while循环在列表之间移动元素

unconfirmed_users = ['alice', 'brain', 'candace']
confirmed_users = []  # 创建一个空的列表
while unconfirmed_users:  # 当列表不为空时循环一直执行
    current_user = unconfirmed_users.pop()  # unconfirmed_users弹出一个元素给current_user, 当全部弹出后循环结束
    print(f"Verifying user: {current_user.title()}")  # verify [ˈverɪfaɪ] v. 核实, 核查
    confirmed_users.append(current_user)  # 把current_user推入confirmed_users列表

print("\nThe following users have been confirmed:")
for confirmed_users in confirmed_users:
    print(confirmed_users.title())
'''
运行结果为
Verifying user: Candace
Verifying user: Brain
Verifying user: Alice
'''

2.删除为特定值的所有列表元素

删除所有就要用循环多次执行remove()方法, 把列表里不该存在的东西删除干净

# 下面的列表包含小鸣最喜欢吃的菜
favorite_foods = ['锅包肉', '锅巴肉片', '火锅', '糖醋里脊', '火锅', '炖牛腩']
# 但是小鸣同学实际上并不喜欢吃火锅, 他决定删除列表中的火锅
favorite_foods.remove('火锅')
for favorite_food in favorite_foods:
    print(favorite_food, end=' ')

print('\n')
# 但执行一次remove()只能删除一次括号中所指定的值, 所以结果中仍然有火锅, 这可把小鸣气坏了该怎么办呢?
favorite_foods = ['锅包肉', '锅巴肉片', '火锅', '盖浇饭', '火锅', '糖醋里脊', '炖牛腩']
while '火锅' in favorite_foods:  # while检查列表中是否有'火锅', 如果有则执行while循环, 没有则结束循环
    favorite_foods.remove('火锅')  # 每一次循环执行都会删除列表中的一个'火锅'直到删除掉所有的'火锅'

for favorite_food in favorite_foods:
    print(favorite_food, end=' ')

# 看到没有火锅的世界达成, 小鸣欣慰的笑了

3.使用用户输入来填充字典

responses = {
    
    }  # 此处创建一个空的字典
polling_active = True  # 这个是执行循环所用的标志
while polling_active:
    name = input("\nWhat is your name? ")  # name用来当'键'
    response = input("Which mountain would you like to climb someday? ")  # response用来做'值'
    responses[name] = response
    repeat = input("Would you like to let another person respond? (yes/no) ")
    if repeat == 'no':
        polling_active = False  # 使用了标签, 当repeat为'no'则polling_active=False

print("\n--- Poll Results ---")
for name, response in responses.items():
    print(f"{name} would like to climb {response}.")

对字典的学习就先告一段落了, 对字典还不太了解的可以看看我之前的笔记
Python认识字典
Python字典的遍历
Python字典的嵌套
希望能帮到你

猜你喜欢

转载自blog.csdn.net/m0_46255324/article/details/114501684