[newbie] troubles with tuples
Rustom Mody
rustompmody at gmail.com
Mon Feb 3 12:06:46 EST 2014
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
More information about the Python-list
mailing list