|  | 
 
| 
x=[1,2,3,4,5]
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  iter(x)
 <list_iterator object at 0x00000229D40FB820>
 type(iter(x))
 <class 'list_iterator'>
 type(x)
 <class 'list'>
 next(iter(x))
 1
 next(iter(x))
 1
 next(iter(x))
 1
 next(iter(x))
 1
 请教大神,为啥我这全是1啊
 
您好!这里出现的问题是您在每次调用next(iter(x))时都创建了一个新的list_iterator对象,这导致每次迭代都从列表x的第一个元素开始。为了避免这个问题,请将迭代器对象分配给一个变量,然后在调用next()时使用该变量。以下是正确的示例:
 
 复制代码x = [1, 2, 3, 4, 5]
iterator_x = iter(x)
print(next(iterator_x))  # 输出 1
print(next(iterator_x))  # 输出 2
print(next(iterator_x))  # 输出 3
print(next(iterator_x))  # 输出 4
 请注意,在迭代列表时,建议使用for循环,因为它可以更简洁地完成相同的任务:
 
 
 复制代码x = [1, 2, 3, 4, 5]
for item in x:
    print(item)
 这将按顺序打印列表中的每个元素。
 
 | 
 |