This request is called "one" in more-itertools: http://more-itertools.readthedocs.io/en/latest/api.html
It raises ValueError as Steve suggested. On Monday, October 30, 2017 at 8:34:26 AM UTC-6, Guido van Rossum wrote: > > This is a key example of a case where code speaks. Can you write an > implementation of how you would want single() to work in Python code? > > On Mon, Oct 30, 2017 at 2:49 AM, Ivan Pozdeev via Python-ideas < > python...@python.org <javascript:>> wrote: > >> >> >> On 30.10.2017 9:29, python-ide...@python.org <javascript:> wrote: >> >>> If I have understood your use-case, you have a function that returns a >>> list of results (or possibly an iterator, or a tuple, or some other >>> sequence): >>> >>> print(search(haystack, needle)) >>> # prints ['bronze needle', 'gold needle', 'silver needle'] >>> >>> There are times you expect there to be a single result, and if there are >>> multiple results, that is considered an error. Am I correct so far? >>> >> Correct. >> >>> If so, then sequence unpacking is your friend: >>> >>> result, = search(haystack, needle) >>> >>> <...> >>> >>> I *think* this will solve your problem. >>> >>> If not, can you please explain what "single()" is supposed to do, why it >>> belongs in itertools, and show an example of how it will work. >>> >> That works. Too arcane in my book though (and others' too according to >> https://stackoverflow.com/a/473337/648265), and the error messages are >> cryptic in this use case. >> It also cannot be a part of an expression, unlike next(). >> >> The initial post on the above link summarizes the suggested >> implementation pretty well. >> >> -- >> Regards, >> Ivan >> >> >> _______________________________________________ >> Python-ideas mailing list >> python...@python.org <javascript:> >> https://mail.python.org/mailman/listinfo/python-ideas >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > > > > -- > --Guido van Rossum (python.org/~guido) >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/