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

在python中,使用for循环来遍历列表,但是为什么说使用for循环来处理列表和字典将导致python难以跟踪其中的元素呢?在处理列表和字典这个方面,对比于for循环,while循环的优点在哪里呢

在python中 一般用while循环来处理不确定次数的循环 而for循环一般用于有限的循环 所以如果是要处理不确定的数据 while循环比for循环更具优势

for 是迭代循环,当迭代对象进行了操作时,会出现无法预料的后果,比如中间有删有增,肯能会出现多次同一元素被迭代出来,或漏掉某些元素

while 循环是变量控制循环,当你操作列表或字典时,可以自行控制指针不向下继续,而for是继续迭代的

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7541992
  • 你也可以参考下这篇文章:python 通过for循环及while循环遍历字符串中的字符
  • 你还可以看下python参考手册中的 python- 自定义扩展类型:教程- 基础
  • 除此之外, 这篇博客: Python中的用户输入和while循环中的 3.使用while循环来处理列表和字典 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我们可以使用while循环来处理列表和字典中的批量数据。
    for循环我们一般用于遍历列表或者字典,但是在for循环中,我们不应该对列表和字典进行修改,因为这样会导致Python难以跟踪其中的元素。如果需要涉及到对列表和字典的修改,我们可以使用while循环。

    3.1 使用while循环在列表之间移动元素
    当我们需要把一个列表中的一些数据移动到另一个列表中的时候,就可以使用while循环。
    假设:
    我们有两个列表,一个是未认证的用户信息,我们在认证后要将这些未认证的用户信息移动到另一个已认证的用户信息的列表中。
    在这里插入图片描述

    3.2 删除包含特定值的列表元素
    我们可以用remove()方法移除列表中的某个特定元素,但是当要删除的元素在列表中有多个的时候,我们使用remove方法就是能删除第一个。
    因此我们需要一个while循环来判断列表中是否还有该元素,如果有的话就继续有remove方法删除。
    在这里插入图片描述

    3.3 使用用户输入来填充字典
    我们可以通过一个while循环与用户进行交互,让用户输入字典中信息。
    比如:我们要用户自己输入自己的信息并将其存储在字典中:
    在这里插入图片描述

  • 您还可以看一下 李晓华老师的Python中的流程控制课程中的 Python中的流程控制——while循环小节, 巩固相关知识点