【发布时间】:2015-05-20 02:35:41
【问题描述】:
我有一个返回对象列表的函数(例如,我使用了下面的代码)。每个对象都有一个名为 text 的属性:
def mylist():
mylist = []
for i in range(5):
elem = myobject(i)
mylist.append(elem)
return mylist
for obj in mylist():
print obj.text
如何重写此代码,以便 mylist() 每次迭代都返回新值并迭代迭代器?换句话说,我怎样才能在 python 中重用 mylist 以便像 xrange() 一样使用它?
【问题讨论】:
-
鉴于您已包含generator,有什么问题?
-
没问题)我只想从 mylist --> xmylist 中制作。从范围-> xrange。我只是不知道如何迭代生成器。只需将单词“return”更改为“yield”不起作用:AttributeError:'generator' 对象没有属性'text'。对不起愚蠢的问题。我是这个话题的新手。