|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
x=[1,2,3,4,5]
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)
复制代码
这将按顺序打印列表中的每个元素。
|
|