Python provides a very useful feature to access a specific slice from whole string. Provide the starting and ending index of string and you will get your slice.
variable_name [starting_index : ending_index]
lets create a variable called prog with following value
## declare a variable prog prog = "I love java" print(prog)
As you have already learnt in Strings in python that string declaration in memory is as follow.
When a string variable is stored in memory, every single character is assigned an individual memory address. Lets say you want to access the slice including 2nd, 3rd, 4th and 5th index.
## get slice from 2nd index till 5th index, index 6 is not included myslice = prog[2:6] print(myslice)
and output is love. As you have already noticed that ending_index is not included in slice, this is how Python works.
Python provides number of options to get slice from string. For example if you do not mention the starting_index of the slice, so the by default value will be 0 and output of the following example will be I love
lang = "I love java" ## no starting index myslice = lang[ : 6] print(myslice)
In the same case if the ending_index is not provided then the by default value will be last index of the string and this time last index will be included in slice.
lang = "I love java" ## no ending_index myslice = lang[7 : ] print(myslice)
This example will print java instead of jav.
You can also fetch a slice and replace with your required string.
lang = "I love java" myslice = lang[ : 7] + "python" print(myslice)
and the output is i love python because lang[0:7] will take a slice of “I love ” and then combine it with other string “Python”. Check another example in which bluebox is turned into bluetooth.
tech = "bluebox" myslice = tech[0:4]+"tooth" print(myslice)
Slicing also works with normal list or arrays. Create an integer array and perform same slicing experiments.
myarray = [2,3,5,6,8,10,12,15] print(myarray[0:3]) print(myarray[2:6]) print(myarray[2:-1])
You can also provides an increment in slicing. See following example,
myarray = [2,3,5,6,8,10,12,15] print(myarray[0: 7: 3])
staring_index is 0, ending_index is 7 and there is an extra variable which is 3. Starting from 0 index, every third value in this range will be printed.
Output [2, 6, 12]. You can use this increment in reverse order as well.
## ending point, starting point, increment of -1 print(myarray[-1: -len(myarray) -1: -1]) ## in simple form print(myarray[: : -1])