Python中的for循环如何遍历unsubscriptable对象?

时间:2016-01-15 11:58:19

标签: python list for-loop ironpython

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循环仍可在此处使用。

1 个答案:

答案 0 :(得分:0)

forloop通过调用private__next __()方法来工作,该方法返回一个值。