一脸懵逼~~
Topic source这段话已经说的很清楚,list,dict,str。可以用iter()变成Iterator。而他们本身不是Iterator,只是通过iter()函数变成了Iterator。但这三者本身是Iterable,因为它们可以迭代。
s = input('请输入要迭代的元素:') from collections import Iterable if isinstance(s,Iterable): for n in s: print(n)
这段代码可以将输入的数据迭代出来。因为数据已经确定了,所以可以迭代。但是你没法知道它下一个数据是什么,所以只是可以迭代,而不是迭代器。
但是迭代器(Iterator),是一个可以计算的迭代数据流!它可以自己计算出下一个数据是什么。只要你订好了规则,就可以不断的计算下一个数据是什么,可以认为迭代器里面的数据是无限的,根据需要可以取出来。而list,str,str则不行,因为这三者的数据是已经确定好的,同时也是有限的。
“集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。” 小白表示,已经晕了,到底可不可以得到 Iterator 谁能解释下。。
```哈哈哈 你肯定是看错了 ,不过可以通过,不是‘不可以‘
- 1
手机用户2819294847
“把list、dict、str等Iterable变成Iterator可以使用iter()函数” 下面总结又说: “集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。” 小白表示,已经晕了,到底可不可以得到 Iterator 谁能解释下。。