Iterator如何再次遍历
时间: 2023-03-23 12:02:57 浏览: 104
Iterator 是一个用于遍历容器(如列表、元组、集合等)中元素的对象。它可以在容器中逐个访问元素,同时还提供了一些方法用于判断是否还有元素需要访问,以及返回当前元素的值等功能。
要再次遍历容器,通常的做法是重新创建一个 Iterator 对象,并从容器的起始位置开始进行遍历。也可以使用一些特定的迭代器方法,如 next() 方法,来跳过前面已经访问过的元素,直接从下一个元素开始进行遍历。
以下是一个简单的示例,演示了如何使用 Iterator 对象遍历一个列表,并在遍历过程中删除其中的某些元素:
```
my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)
for item in my_iterator:
print(item)
if item == 3:
my_list.remove(item)
# Output:
# 1
# 2
# 3
# 5
# 重新创建 Iterator 对象
my_iterator = iter(my_list)
for item in my_iterator:
print(item)
# Output:
# 1
# 2
# 5
```
在上面的代码中,我们首先创建了一个包含 5 个整数的列表,并将其传递给 `iter()` 方法,以创建一个 Iterator 对象 `my_iterator`。然后使用 for 循环逐个遍历列表中的元素,如果发现元素的值为 3,则使用 `remove()` 方法将其从列表中删除。在遍历完成后,我们重新创建了一个 Iterator 对象 `my_iterator`,并再次使用 for 循环遍历列表中的元素,此时已经没有元素的值为 3 了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)