On 01/14/2014 02:03 AM, Igor Korot wrote:
[snip]

C:\Documents and Settings\Igor.FORDANWORK\Desktop\winpdb>python
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
test = "I,like,my,chocolate"
print test.split(',')[2,3]
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple


Try again...  but use a colon not a comma, [2:3]

Two additional comments:
(1) test.split(',')[2:3] will give you ["my"] only. The slicing syntax starts with the first index and goes up to but NOT INCLUDING the second. In this case it is the same as the single index, [2]. You want either [2:4] or [2:], or even [2:500]. Any value >= the length of the list (or whatever sequence) is acceptable as the ending index in a slice. It's probably not a good idea to use a value like this, but it does work. And obviously, don't try to read with an out-of-bounds index, but it does work as the _ending_ index in a slice.

(2) A comma-separated list of data items IS a tuple, even without the usual enclosing parenthesis. That is your error here -- [2,3] is the same as [(2,3)], which is a tuple.

     -=- Larry -=-

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to