Python中的for循环如何迭代使用[n]表示法无法解决的对象?
考虑一下:
myCollection # Some objects with elements (not a simple list)
for elem in myCollection:
print elem.Title
myCollection[0]
上面的代码在我的情况下会在for循环中成功并将打印所有元素的标题字符串,而对myCollection [0]的调用将失败并出现以下异常:
TypeError: 'myCollection' object is unsubscriptable
for语句如何遍历对象?
当下标符号失败时,是否有其他方法可以访问集合的第一个元素?
Spotfire应用程序中出现了IronPython脚本,这就是我无法提供MWE的原因。
这是一个目录(myCollection):
['Equals', 'GetHashCode', 'GetType', 'Item', 'MemberwiseClone', 'Overloads', 'ReferenceEquals', 'ToString', '__call__', '__class__', '__cmp__', '__delattr__', '__delete__', '__doc__', '__get__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__str__']
说明在此对象上定义的方法。它没有next或 next 方法,for循环仍可在此处使用。
答案 0 :(得分:0)
forloop通过调用private__next __()方法来工作,该方法返回一个值。