Difference in formatting list and tuple values
Sean 'Shaleh' Perry
shalehperry at attbi.com
Thu Dec 13 12:08:07 EST 2001
More information about the Python-list mailing list
Thu Dec 13 12:08:07 EST 2001
- Previous message (by thread): Where can you find the Python ODBC modual
- Next message (by thread): Difference in formatting list and tuple values
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 13-Dec-2001 Sue Giller wrote: > I am trying to format values from either a list or a tuple, and I am > getting the following odd (to me) behavior. I can format the tuple > entry using %d, but I get an error when I use the same formatting > for the same data in a list. > Why does this happen? > >>>> l = [1,2,3] # list >>>> t = (1,2,3) # tuple >>>> print "%02d" % t[:1] # format first entry in tuple ok > 01 >>>> print "%02d" % l[:1] # get error with list > Traceback (most recent call last): > File "<interactive input>", line 1, in ? > TypeError: an integer is required >>>> print "%02d" % tuple(t[:1]) # cast to a tuple works ok > 01 > l[:1] returns [1], not 1. The ':' is for slicing. It returns a new list (or tuple, or string) in the range specified. If you just want the first item ask for l[0]. Casting to a tuple works because the call then becomes: "%02d" % (1,) which is what the % operator expects -- a tuple of one item.
- Previous message (by thread): Where can you find the Python ODBC modual
- Next message (by thread): Difference in formatting list and tuple values
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list