所以我正在遍历python中的一个属性。顺便说一句,这只是示例代码......不是我正在使用的:我不想发布我正在处理的内容,因为它有数百行。但我认为这表达了我的观点。
@property
def tokenize(self):
(lots of compex operations)
return tokens
在另一种方法中,我正在循环该属性的输出
def anther_method(self):
count = 0
for a in self.tokenize:
count += 1
但问题是,如果该属性输出一个列表让我们说......然后它输出另一个列表,计数器将回到零,因此我不知道如何跟踪我的循环计数。有什么方法可以保持我的计数,而无需对输出进行某种列表理解,因为我不想保持该属性返回的数据类型相同。
对此的任何帮助将不胜感激。
这是我循环之前的输出示例:
[<__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494E10>, <__main__.Character object at 0x023EE470>, <__main__.Sentence object at 0x02494D50>, <__main__.Character object at 0x023EEE90>, <__main__.Sentence object at 0x02494D90>, <__main__.Character object at 0x023F53D0>, <__main__.Character object at 0x023F53F0>, <__main__.Character object at 0x023F5410>, <__main__.Sentence object at 0x02494F10>, <__main__.Character object at 0x023F5470>, <__main__.Sentence object at 0x02494E50>, <__main__.Character object at 0x023FB230>, <__main__.Sentence object at 0x02494E30>, <__main__.Character object at 0x023FB510>, <__main__.Sentence object at 0x02494DB0>, <__main__.Character object at 0x023FB770>, <__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494DB0>, <__main__.Character object at 0x02401530>, <__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494F10>, <__main__.Character object at 0x02409850>, <__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494F10>, <__main__.Character object at 0x02413870>, <__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494D30>]
[<__main__.Sentence object at 0x02494FD0>, <__main__.Character object at 0x0241E3F0>, <__main__.Sentence object at 0x02494E90>, <__main__.Character object at 0x0241E4F0>, <__main__.Sentence object at 0x02494DB0>, <__main__.Character object at 0x0241E790>, <__main__.Character object at 0x0241E7B0>, <__main__.Character object at 0x0241E7D0>, <__main__.Character object at 0x0241E7F0>, <__main__.Character object at 0x0241E810>]
[<__main__.Sentence object at 0x02494D30>, <__main__.Character object at 0x0241EB10>, <__main__.Character object at 0x0241EB30>, <__main__.Character object at 0x0241EB50>, <__main__.Character object at 0x0241EB70>, <__main__.Sentence object at 0x02494E90>, <__main__.Character object at 0x0241EC10>, <__main__.Sentence object at 0x02494E50>, <__main__.Character object at 0x02494330>, <__main__.Character object at 0x02494350>, <__main__.Character object at 0x02494370>, <__main__.Sentence object at 0x02494D90>, <__main__.Character object at 0x02494450>, <__main__.Sentence object at 0x02494F10>, <__main__.Character object at 0x02494590>, <__main__.Sentence object at 0x02494FD0>]
您可能会看到为什么它会拆分计数器。因为每次该列表更改时,它都会重置计数器。