Reputation: 385
Perhaps, it sounds like a stupid question. However, I have to learn what index is because I want to learn python.
For example, in a website, I saw this:
The method find() determines if string str occurs in string, or in a substring of string if starting index beg and ending index end are given.
http://www.tutorialspoint.com/python/string_find.htm
What does "index" mean here? I would like you to explain it to me like you are explaining something to a child. Because my comprehension is somewhat bad. Anyway. You can even provide examples to explain what index is.
Many thanks.
Upvotes: 8
Views: 56348
Reputation: 1
In python, the indexing start from 0. So basically lst[0] means first element in list (lst), lst[1] means second element and so on.... Also we can access last element as lst[-1], lst[-2] is second from the last and so on...In other programming language like R, indexing starts from 1 instead of 0, so we need to be careful with that.
Upvotes: 0
Reputation: 20794
If a street with houses is an analogy for an array with elements, then house number is analogy for index. However, Python uses numbers from zero.
The built in sequence types in Python (ver. 3) are strings (sequences of unicode characters), bytes (sequences of small integers from zero to 255, i.e. of byte values), tuples (sequences of whatever elements), and lists (sequences of whatever elements). All of them are implemented via arrays; this way they can be indexed as is usual for arrays in any (other) programming language.
If a
is such an array (i.e. one of the above sequence types), then a[0]
refers to the content of the first house in the street, a[1]
to the second house, etc. Some of the sequences can be modified (here only the lists), therefore they are called mutable. Some of the sequences cannot be modified (strings, bytes, tuples), therefore they are called immutable.
For mutable sequence type objects, the elements can be changed via assignment like lst[0] = 3
, the elements of the immutable sequences can only be read and the value used, like print(s[3])
.
For lists and tuples the elements are not stored directly inside the array. Only the references to the target objects are stored inside. The target object is accessed indirectly (one hop along the reference). Think in terms that you go to the indexed house, and the person inside tells you where is the real content (in another house, not in this street). In such case, even the element from the (immutable) tuple like t[5]
--i.e. the reference--can be used to change the target object content... if the target object is mutable.
Upvotes: 4
Reputation: 46233
An index, in your example, refers to a position within an ordered list. Python strings can be thought of as lists of characters; each character is given an index from zero (at the beginning) to the length minus one (at the end).
For the string "Python", the indexes break down like this:
P y t h o n
0 1 2 3 4 5
In addition, Python supports negative indexes, in which case it counts from the end. So the last character can be indexed with -1
, the second to last with -2
, etc.:
P y t h o n
-6 -5 -4 -3 -2 -1
Most of the time, you can freely mix positive and negative indexes. So for example, if you want to use find
only from the second to second-to-last characters, you can do:
"Python".find("y", beg=1, end=-2)
Upvotes: 11
Reputation: 5289
Consider this string "Hello"
. If you wanted to point out to some of it's characters like e
you would need an index, which is a position number. Indices in python start counting from zero. So the index of letter e
in "Hello"
is 1.
Try to run this line of code:
print "Hello".find("e");
It should return you 1
.
You can further play with it an run it again what it does. Try to replace "e"
with "H"
, next try something that isn't in "Hello"
.
Upvotes: 4
Reputation: 31623
"index" is meant as "position".
Let's use find()
as an example: find()
will look for a string in another string. It will start its search at the beginning index called beg
and will end its search at the end index called end
. So it will only search between beg
and end
. Usually (by default) beg
is 0 (which means it is the first character in the string) and end
is the length of the string minus one (which means it is the very last character in the string). So an index is just a position (not only in a string, e.g. also in an array).
Upvotes: 7