Functional way to compare things inside a list
Alexander Blinne
news at blinne.net
Fri Sep 21 04:31:40 EDT 2012
On 21.09.2012 00:58, thorsopia at lavabit.com wrote:
> Hi,
>
> list = [{'1': []}, {'2': []}, {'3': ['4', '5']}]
>
> I want to check for a value (e.g. '4'), and get the key of the dictionary
> that contains that value.
> (Yep, this is bizarre.)
>
> some_magic(list, '4')
> => '3'
>
> What's the functional way to do it?
> Is it possible to do it with a one-liner?
simple, but possibly slow solution:
import itertools
def some_magic(list, search):
return (key for key, val in itertools.chain(*(d.iteritems() for d in
list)) if search in val).next()
one-liner, yeah...
More information about the Python-list
mailing list