zoukankan      html  css  js  c++  java
  • 使用while循环来处理列表和字典

    • Q:为什么要使用while循环来处理列表和字典

    • A:for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

    • Q:在列表之间移动元素

    • A:使用一个while循环创造条件

    # 下面是在列表中移动元素的例子
    
    # 首先,创建一个待验证用户列表
    # 和一个用于存储已验证用户的空列表
    unconfirmed_users = ['alice', 'brian', 'candace']
    confirmed_users = []
    
    # 验证每个用户,直到没有未验证用户为止
    # 将每个经过验证的列表都移到已验证用户列表中
    while unconfirmed_users:#while+列表 循环直到列表为空(False)
        current_user = unconfirmed_users.pop()
    
        print("Verifying user: " + current_user.title())
        confirmed_users.append(current_user)
    
    # 显示所有已验证的用户
    print("
    The 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
    

    • Q:删除包含特定值的所有列表元素
    • A:使用while循环+remove()函数
    # 下面是删除所有包含特定值的列表元素的例子
    pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
    print(pets)
    
    while 'cat' in pets:
        pets.remove('cat')
    
    print(pets)
    ------------------------------------------------------------------
    ['dog' , 'cat' , 'dog' , 'goldfish' , 'cat' , 'rabbit' , 'cat']
    ['dog' , 'dog' , 'goldfish' , 'rabbit']
    
    • Q:使用用户输入来填充字典
    • A:可以使用while循环来提示用户输入任意数量的信息
    # 下面是使用用户输入来填充字典的例子
    responses = {}
    
    polling_active = True    # 设置一个标志,指出调查是否继续
    
    while polling_active:    # 提示输入被调查者的名字和回答
        name = input("
    What 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("
    --- Poll Results ---")
    for name, response in responses.items():
        print(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 ---
    Lynn would like to climb Devil's Thumb.
    Eric would like to climb Denali.
    
  • 相关阅读:
    选择器
    asp.net 操作ftp类
    女装类视觉设计感悟
    跨域读取js变色
    关于jQuery的ajax初级应用
    打造前端自动化编译环境(思路)
    <base>标签在ie6下的问题
    通过压缩图片 来提升页面加载速度
    原来我一直不懂cookie
    去处浏览器的默认效果(autocomplete, outline)
  • 原文地址:https://www.cnblogs.com/goodhelper007/p/Use_a_while_loop_to_process_lists_and_dictionaries.html
Copyright © 2011-2022 走看看