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

Reply via email to