[newbie] troubles with tuples

Jean Dupont jeandupont314 at gmail.com
Mon Feb 3 20:18:21 CET 2014


Op maandag 3 februari 2014 18:06:46 UTC+1 schreef Rustom Mody:
> On Monday, February 3, 2014 10:20:31 PM UTC+5:30, Jean Dupont wrote:
> > I'm looking at the way to address tuples
> > e.g.
> > tup2 = (1, 2, 3, 4, 5, 6, 7 );
> > As I found out indices start with 0 in Python, so 
> > tup2[0] gives me 1, the first element in the tuple as expected
> > tup2[1] gives me 2, the second element in the tuple as expected
> > now here comes what surprises me:
> > tup2[0:1] does not give me the expected (1,2) but (2,)
>
> Python 2.7.6 (default, Jan 11 2014, 17:06:02) 
> [GCC 4.8.2] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
> >>> tup2=(1,2,3,4,5,6,7)
> >>> tup2[0:1]
> (1,)
> >>> 
> So assuming you meant (1,) and wrote (2,) :-)
> > what is the reason for this and how then should one get the first and the second element of a tuple? Or the 3rd until the 5th?
> Generally ranges in python are lower-inclusive upper-exclusive
> What some math texts write as [lo, hi)
> So if you want from index 1 to 2-inclusive it is 1 to 3 exclusive
> tup2[0:2]
>
> See for motivations
> http://www.cs.utexas.edu/~EWD/transcriptions/EWD08xx/EWD831.html
> And one more surprising thing to note is that negatives count from the end
Thank you (and the others) for making this "logical"

kind regards,
jean



More information about the Python-list mailing list