Tim Peters added the comment:
I'd raise an exception when trying to insert into a bounded deque that's
already full. There's simply no way to guess what was _intended_; it's dead
easy for the user to implement what they _do_ intend (first make room by
deleting the specific item they no longer want); and I can't think of a use
case compelling enough to justify whatever arbitrary non-exceptional behavior
may be implemented instead.
WRT the behavior you settled on, sure, it's explainable. That doesn't imply
it's useful, though ;-) I'd rather have an exception. It's plain bizarre that
after
d.insert(i, x)
one can't even rely on
assert any(y is x for y in d)
succeeding. Implementing behavior that allows that invariant to fail is
_really_ user-unfriendly ;-)
In contrast, what .append() and .appendleft() do for a full bounded deque are
compelling (and don't violate the weak invariant above).
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue26194>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com