<< Chapter < Page | Chapter >> Page > |
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.
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.)
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 |
The slice notation uses two index values separated by a colon, as shown in Listing 2 .
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.
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.
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.
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 .
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]) |
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?