<< Chapter < Page Chapter >> Page >

An important and potentially confusing point

At the risk of becoming boring, there is an important point here that you might as well get used to right now.

The s is located at index value 3. However, according to the way you are probably accustomed to counting, this is actually the fourth character in thestring. You might be inclined to refer to this character as character number 4.

This is because index values always begin with zero, while you are probably accustomed to counting things beginning with one, not zero.

Not like eggs

Regardless of whether you begin with zero or one, if you access the egg at index value 4 in the container and eat it for breakfast, it cannot be accessed again (because it will be gone) .

However, if you access the character at index value 4 in the string and use it for some purpose, what you really use is a copy of the character. It is stillthere and it can be accessed again.

(Some data containers do allow for the removal of data elements in much the same sense that we can remove an egg from its container. However, a string isnot such a container.)

A simple slice

The fragment in Listing 2 cuts a couple of slices out of the string that was created in Listing 1 and displays them on the screen.

Listing 2 . A simple slice.
print(aStr[0:4]) #print Thisprint(aStr[10:16]) #print string

Slice notation

The slice notation uses two index values separated by a colon, as shown in Listing 2 .

The end is non-inclusive

As was indicated in the earlier quotation, "... the end is non-inclusive." This means that the character whose index value is the number following thecolon is not included in the slice.

Extract the first word in the string

Thus, the first statement in Listing 2 containing the reference aStr[0:4] extracts and prints the character sequence beginning with index value 0 and ending with indexvalue 3 (not 4) . This causes the word This to be extracted and printed.

Extract the last word in the string

Similarly, the second statement in the above fragment containing the reference aStr[10:16] extracts and prints the characters having index values from 10 through 15, inclusive (not 16) . This causes the word string to be extracted and printed.

A more complicated slice

Omitting the first index

If you omit the first index value, as shown in Listing 3 , it defaults to the value zero.

Listing 3 . Omitting the first index.
print(aStr[:4]) #print This

Therefore, the statement in Listing 3 extracts and prints the first word in the string, which is This .

Omitting the second index

If you omit the second index, as shown in Listing 4 , it defaults to a value that includes the last character in the string.

Listing 4 . Omitting the second index.
print(aStr[10:]) #print string

Thus, the statement in Listing 4 extracts and prints the last word in the string, which is string .

Listing 5 shows two different ways to extract and print the entire string. I won't comment on this, but will leave the analysis as an exercise for thestudent.

Listing 5 . Print the entire string.
#print the entire string print(aStr[:5]+ aStr[5:])print(aStr[:100])

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask