1

出于某种原因,IDLE 不显示typeof tuple i。知道这里有什么问题吗?

空闲(Python)

>>> d = {"a":"apple","b":"boy","c":"cat"}
>>> d
{'a': 'apple', 'b': 'boy', 'c': 'cat'}
>>> t = ((k,v) for k,v in d.items())
>>> t
<generator object <genexpr> at 0x0237C558>
>>> for i in t: print(i)

('a', 'apple')
('b', 'boy')
('c', 'cat')
>>> for i in t: print(type(i))

>>> 
4

2 回答 2

2

您只能使用一次迭代器/生成器

>>> a = [1,2,3]
>>> g = iter(a)
>>> for i in g: print i
...
1
2
3
>>> for i in g: print i
...
>>>
于 2013-08-30T13:56:50.983 回答
2

生成器是迭代器,但它们不像列表那样将数据存储到内存中,因此它们只能被访问一次。
是关于生成器的一个很好的解释。

于 2013-08-30T14:04:05.293 回答