如何用While循环实现For循环的列表带序号遍历功能?
用While循环实现列表的带序号遍历
当然可以用While循环实现和你给出的For循环相同的效果,先看你现有代码的问题:
你错误地将For循环和While循环嵌套,导致第一次For循环取到第一个元素Akaki后,While循环直接完成了所有5次迭代(x从0递增到5),后续For循环迭代拿到剩余元素时,x已经等于列表长度,While循环的条件不再满足,因此只会重复输出第一个元素5次。
正确的While循环实现
和你提供的For循环输出一致(序号从0开始)的代码:
Database = ["Akaki","Salome","Giorgi","Lasha","Beqa"] x = 0 while x < len(Database): print(x, Database[x]) x += 1
如果需要序号从1开始(和你错误代码里的输出格式一致,只是对应正确元素),可以调整打印语句:
Database = ["Akaki","Salome","Giorgi","Lasha","Beqa"] x = 0 while x < len(Database): print(f"{x+1} {Database[x]}") x += 1
代码说明
- 初始化索引变量
x为0,对应列表的第一个元素位置 - While循环的条件是
x < len(Database),确保索引不超出列表范围 - 每次循环中,通过
Database[x]获取当前索引对应的元素,打印序号和元素 - 最后将
x自增1,进入下一次循环,直到遍历完所有元素
内容的提问来源于stack exchange,提问作者Akaki Akhobadze
相关产品推荐
相关产品推荐

