[Nick] > I took Larry's request a slightly different way: Sorry, I was unclear: by "use case" I had in mind what appeared to me to be the overwhelming thrust of the _entirety_ of this thread so far, not Larry's original request.
> he has a use case where he wants order preservation (so built in sets aren't > good), but combined with low cost duplicate identification and elimination and > removal of arbitrary elements (so lists and collections.deque aren't good). Sure. > Organising a work queue that way seems common enough to me to be > worthy of a stdlib solution that doesn't force you to either separate a > "job id" from the "job" object in an ordered dict, or else use an ordered > dict with "None" values. > > So while it means answering "No" to the "Should builtin sets preserve > order?" question (at least for now), adding collections.OrderedSet *would* > address that "duplicate free pending task queue" use case. Only Larry can answer whether that would meet his perceived need. My _guess_ is that he wouldn't know OrderedSet existed, and, even if he did, he'd use a dict with None values anyway (because it's less hassle and does everything he wanted). But I have to add that I don't know enough about his original use case to be sure it wasn't "an XY problem": https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem """ The XY problem is asking about your attempted solution rather than your actual problem. That is, you are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y. """ Because I've never had a "job queue" problem where an OrderedSet would have helped. Can't guess what's different about Larry's problem. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/TV2XVX2NKUGJJZNFKO4TSMEPVQI6Y75Q/ Code of Conduct: http://python.org/psf/codeofconduct/