Зависит от того, что вы подразумеваете под всегда .Согласно collections.abc
- контейнер - это объект, который реализует
__contains__
метод - , итеративный - это объект, который реализует
__iter__
(или __getitem__
, как запасной вариант)
Таким образом, теоретически нет, вы можете реализовать контейнер, который не является итеративным.Однако все стандартные контейнеры Python (и большинство контейнеров, реализованных библиотеками) также являются итеративными.