【问题标题】:Python What is difference between file iterator and list iterator? [duplicate]Python文件迭代器和列表迭代器有什么区别? [复制]
【发布时间】:2018-01-28 19:04:56
【问题描述】:

如果我有一个文件迭代器

with open('test1.txt','r') as f1:
 print(f1.__next__())

但是如果我对一个列表做同样的事情,它就行不通了。

a1 = [1,2,3,4,5]
a1.__next__()

那么,文件迭代器和列表迭代器有什么区别呢?文件和列表(或元组、字典等)迭代器的行为是否不同?

【问题讨论】:

  • 顺便说一句,你不应该直接调用__next__方法,请使用next函数,例如next(f1)。对于名称以双下划线开头和结尾的大多数其他“魔术”方法(又名 dunder 方法)也是如此。所以使用len函数,不要使用__len__方法,使用str函数,不要使用__str__方法等

标签: python python-3.x


【解决方案1】:

没有这样的文件迭代器和列表迭代器。迭代器适用于 iter 对象。 List 本身是可迭代的,但不是迭代对象,但是我们可以使它们可迭代。

a =[1,2,3,4,5]
a= iter(a)
a.next()

除了数字之外的所有python数据类型都可以被迭代。

Confused with python lists: are they or are they not iterators?

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 2011-07-17
    • 1970-01-01
    • 2014-10-28
    • 2014-12-05
    • 2016-07-14
    • 2010-11-04
    • 2012-02-10
    • 2015-09-16
    相关资源
    最近更新 更多