[Tutor] string indexing

Alan Gauld alan.gauld at btinternet.com
Sun Jan 19 17:33:58 CET 2014


On 19/01/14 13:59, rahmad akbar wrote:
> hey guys, super  noob here, i am trying to understand the following code
> from google tutorial which i failed to comprehend

Others have answered the specifics but some general advice here:

1) never forget the Python >>> prompt.
Try things out if you don't understand them.
Look at the results. Its a great learning tool.

2) use the built in help() function at the >>> prompt

Those two aids will answer about 80% of your questions.
And for the rest there is the tutor list! :-)

> def not_bad(s):
>    n = s.find('not')
>    b = s.find('bad')
>    if n != -1 and b != -1 and b > n:
>      s = s[:n] + 'good' + s[b+3:]
>    return s

>   on the following lines, what is -1, is that index number?


 >>> help(''.find)
Help on built-in function find:

find(...)
     S.find(sub[, start[, end]]) -> int

     Return the lowest index in S where substring sub is found,
     such that sub is contained within S[start:end].  Optional
     arguments start and end are interpreted as in slice notation.

     Return -1 on failure.
(END)

 >>> s = "Test string thats not interesting but not bad either"
 >>> s.find('not')
18
 >>> s.find('bad')
42
 >>> s.find('gobbledegook')
-1

> understand the entire second line
> if n != -1 and b != -1 and b > n:
>      s = s[:n] + 'good' + s[b+3:]

Again try this in bits at the >>> prompt:

 >>> s[:18]    # using the value found above
'Test string thats '
 >>> s[42+3:]   # again using value above
' either'
 >>> s[:18] + 'good' + s[45:]
'Test string thats good either'

Hopefully that gives you some ideas on how
to use the >>> prompt to answer questions
as they arise.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos



More information about the Tutor mailing list