I have definitely hit this difficulty many times. The part of the code that "just puts something in the collection" doesn't need to care conceptually about the kind of collection. Taking the data back out somewhere else more often needs to worry about order, efficiency, concurrency, etc.
But as I see other comments, I think an external function makes more sense. Sure, list and set could grow a common method. But then what about deque or queue? What about the excellent third part sortedcontainers package? Or a Panda Series? Do all of these need to grow that same method? I think more flexible would be a callable that also provided a way to register how to "just put the item in the container." This could be expanded by users only as far as was useful to them. Sufficiently refined, I can imagine wanting such a thing in the collections module itself. So maybe an API like: just_add_it.register(set, set.add) just_add_it.register(list, list.append) just_add_it.register(Queue, Queue.put) just_add_it.register(MyCollection, lambda stuff, item: ...) # Later just_add_it(the_things, item) Then a user can decide where to weigh issues like sets not allowing mutable objects or queues being finite size. On Sun, Oct 13, 2019, 5:22 PM Steve Jorgensen <[email protected]> wrote: > IMO, the problem with the "you can create your own" solution is that this > is such a common thing that it seems like it should simply be present > rather than having a vast number of applications and libraries each > implementing their own unique solutions. > _______________________________________________ > Python-ideas mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/FUUZZ6BR5NXNQYKVSGZI63ELJ2CT7UK4/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/2PLF3EMEWUT2WTSOWMGQ6DAHVR5A6DJJ/ Code of Conduct: http://python.org/psf/codeofconduct/
