Я просто скопировал ваш код в мой редактор, и сначала я получил это, что кажется неправильным:
h11: Iterator
Value 'h11' is unsubscriptablepylint(unsubscriptable-object)
Затем я попытался выполнить ваш код с вводом, и я получил ошибку, похожую на Ваш, но он сказал:
Traceback (most recent call last):
File "c:/Users/Chechu/Desktop/s.py", line 33, in <module>
result = equalStacks(h1 , h2 , h3)
File "c:/Users/Chechu/Desktop/s.py", line 13, in equalStacks
if h11[-1] == h22[-1] == h33[-1]:
TypeError: 'itertools.accumulate' object is not subscriptable
Как вы видите, линии накопления работают очень хорошо (вы также можете посмотреть документацию ).
Я думаю, что вы не понимаете, что такое итератор, поскольку вы не можете получить доступ к элементам из него. Вы должны выполнить приведение к списку этих итераторов. Ваш код нуждается только:
h11 = list(itertools.accumulate(h1))
h22 = list(itertools.accumulate(h2))
h33 = list(itertools.accumulate(h3))