keyword 'in' not returning a bool?
Arnaud Delobelle
arnodel at googlemail.com
Fri Feb 8 12:35:25 EST 2008
More information about the Python-list mailing list
Fri Feb 8 12:35:25 EST 2008
- Previous message (by thread): keyword 'in' not returning a bool?
- Next message (by thread): keyword 'in' not returning a bool?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Feb 8, 5:20 pm, "Reedick, Andrew" <jr9... at ATT.COM> wrote: > > -----Original Message----- > > From: python-list-bounces+jr9445=att.... at python.org [mailto:python- > > list-bounces+jr9445=att.... at python.org] On Behalf Of c james > > Sent: Friday, February 08, 2008 12:10 PM > > To: python-l... at python.org > > Subject: keyword 'in' not returning a bool? > > > Try this > > > >>> sample = {'t':True, 'f':False} > > >>> 't' in sample > > True > > >>> type('t' in sample) > > <type 'bool'> > > >>> 't' in sample == True > > False > > > Why is this? Now try > > >>> bool('t' in sample) == True > > True > > > Can someone explain what is going on? > > >>> ('t' in sample) == True > > True > > It's operator precedence. 'in' has lower precedence than '=='. Therefore > 't' in sample == True > evaluates as > 't' in (sample == True) > > The real question is why does > 't' in (sample == True) > cause an error: > TypeError: argument of type 'bool' is not iterable > while > 't' in sample == True > does not? That should have told you precedence is not the reason! -- Arnaud
- Previous message (by thread): keyword 'in' not returning a bool?
- Next message (by thread): keyword 'in' not returning a bool?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list