在python中使用iter
函数有什么用?
而不是:
for i in range(8):
print i
我还可以使用iter
:
for iter in range(8):
print iter
答案 0 :(得分:6)
首先:iter()
normally is a function。您的代码使用具有相同名称的本地变量掩盖该函数。您可以使用任何内置Python对象来执行此操作。
换句话说,您在此处使用iter()
功能不。您正在使用碰巧使用相同名称的for循环变量。你可以把它叫做dict
,它不再是关于字典而是关于Guido选择的咖啡。从for
循环的角度来看,您的两个示例之间存在无差异。
否则,您可以使用iter()
函数生成iterator type;一个具有.next()
方法的对象(Python 3中为.__next__()
)。
for
循环通常会为您执行此操作。当使用可以生成迭代器的对象时,for
语句将使用与其上调用iter()
的C等价物。如果您使用该对象执行其他特定于迭代器的内容,则只能使用iter()
。
答案 1 :(得分:0)
iter()是一个Python内置函数,它返回一个迭代器对象,它是一个表示某些数据的对象。例如,它可以与迭代器上的.next()方法一起使用,它将为您提供下一个元素 - 当没有更多元素时,将发生StopIteration。