Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件迭代器和列表迭代器的区别是什么?_Python_Python 3.x - Fatal编程技术网

Python文件迭代器和列表迭代器的区别是什么?

Python文件迭代器和列表迭代器的区别是什么?,python,python-3.x,Python,Python 3.x,如果我有一个文件迭代器 with open('test1.txt','r') as f1: print(f1.__next__()) 但是如果我对一个列表做同样的事情,它就不起作用了 a1 = [1,2,3,4,5] a1.__next__() 那个么,文件迭代器和列表迭代器的区别是什么呢?文件和列表(或元组、字典等)迭代器的行为是否不同?没有这样的文件迭代器和列表迭代器。迭代器适用于iter对象。列表本身是可iter的,但不是一个iter对象,但是我们可以使它们可iter a =[1,2

如果我有一个文件迭代器

with open('test1.txt','r') as f1:
 print(f1.__next__())
但是如果我对一个列表做同样的事情,它就不起作用了

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

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

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

a =[1,2,3,4,5]
a= iter(a)
a.next()
除number之外的所有python数据类型都可以设置为iterable

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

顺便说一句,您不应该直接调用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。大多数其他“神奇”方法也是如此,它们的名称以双下划线开头和结尾(又名dunder方法)。因此,请使用
len
函数,而不是
\uuuuu len
方法、
str
函数,而不是
\uuu str
方法等。