On Sat, May 7, 2022 at 9:15 AM Jonathan Fine <jfine2...@gmail.com> wrote:

> Here's my preferred solution, using Python builtins:
>   >>> users = [
>   ...     {'id': 1,'name': 'john'},
>   ...     {'id': 2, 'name': 'anna'},
>   ...     {'id': 3, 'name': 'bruce'},
>   ... ]
>   >>> func = (lambda user: user['id'] == 2)
>
>   >>> next(filter(func, users))
>   {'id': 2, 'name': 'anna'}
>

The OP did suggest a comprehension version, which I personally prefer --
but thought it  " feels a bit janky" -- I can say that lambda/filter feels
even jankier to me :-)

you could create a new class for holding a collection (or set) of members.
>

and then you'd be writing this code in your class -- but that's a good
thing, as you could then refactor it to optimize it or use persistent
storage, or ....

Anyway, I agree that once. you need to customize your matching function,
you might as just write the code.

-CHB

-- 
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/TL2H32CBLMQNQVLQCZCANOXXIVTPYX2P/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to