On Tue, Apr 10, 2012 at 12:16 AM, Dave Angel <d...@davea.name> wrote:
> On 04/10/2012 02:04 AM, Shashank Singh wrote: > > On Mon, Apr 9, 2012 at 10:49 PM, Nikhil Verma <varma.nikhi...@gmail.com > >wrote: > > <SNIP> > >> I am trying this but its giving me a generator object. > >> > >> In [9]: (k for k,v in for_patient_type.iteritems() if v == 'Real') > >> > > Iterating over a dict gives you all the keys, not the key value pairs > > > > But that line does not iterate over the dict, it iterates over an > iterator consisting of key/value pairs. Note he had a call to iteritems(). > Thanks Dave. My bad. Nikhil, you could get the data that you wanted by your initial approach. All you needed was to either run through the generator or just use list comprehension >>> g = (k for k,v in for_patient_type.iteritems() if v == 'Real') >>> for k in g: print k ... 80 81 83 84 91 93 79 >>> >>> [k for k,v in for_patient_type.iteritems() if v == 'Real'] [80, 81, 83, 84, 91, 93, 79] -- Regards Shashank Singh http://www.flipora.com http://r <http://www.cse.iitb.ac.in/~shashanksingh>ationalpie.wordpress.com
-- http://mail.python.org/mailman/listinfo/python-list