Given a string and an integer N, the task is to write a Python program to print the last N characters of the string.
Example
Input: Geeks For Geeks!; N = 4
Output: eks!
Explanation: The given string is Geeks For Geeks! and the last 4 characters is eks!.
Input: PYTHON; N=1
Output: N
Explanation: The given string is PYTHON and the last character is N.
Get the last N Characters of a String
Below are the lists of methods that we will cover in this article:
- Using a Python loop
- Using List slicing
- Using string slicing with negative indexing
- Using Recursion in Python
Using a loop to get the last N characters of a string
Using a loop to get to the last n characters of the given string by iterating over the last n characters and printing them one by one.
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
# iterate loop while (N > 0 ):
# print character
print ( Str [ - N], end = '')
# decrement the value of N
N = N - 1
|
Output
Geeks For Geeks!
eks!
Get the last N characters of a string using Slicing
Python list slicing is used to print the last n characters of the given string.
Using string slicing with positive indexing
Here we are using the concept of positive slicing where we are subtracting the length with n i.e. to get the positive index for the desired substring.
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
# get length of string length = len ( Str )
# create a new string of last N characters Str2 = Str [length - N:]
# print Last N characters print (Str2)
|
Output:
Geeks For Geeks!
eks!
Using string slicing with negative indexing
Here we are using the concept of negative slicing where we are not subtracting the length with n.
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
# create a new string of last N characters Str2 = Str [ - N:]
# print Last N characters print (Str2)
|
Output:
Geeks For Geeks!
eks!
Get the last characters of a string in Python
In Python, negative indexing allows you to access elements from the end of a sequence. So Str[-1] will give you the last character of the string.
Str = "GeeksforGeeks"
#using negative index to pick the last element of the string # Here -1 refers to the last character index in the string last_character = Str [ - 1 ]
#printing the last character print (last_character)
|
Output:
s
# Time Complexity: O(1)
# Auxiliary Space: O(1)
Get the Last N Characters of a String Using Recursion
Here we use a recursive function that progressively reduces the length of the string in recursion to get desired last N character that we won’t get
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
def printLastNChar( Str , N):
l = len ( Str )
if N > 0 :
print ( Str [l - N], end = "")
printLastNChar( Str , N - 1 )
printLastNChar( Str , N)
|
Geeks For Geeks! eks!
# Time Complexity: O(n)
# Auxiliary Space: O(n)
Get Last N Characters of a String Using Operator.getitem():
Used operator.getitem(), slice() to extract the sliced string from length-N to length and assigned it to Str2 variable then displayed the Str2 variable.
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
# get length of string length = len ( Str )
import operator
# create a new string of last N characters Str2 = operator.getitem( Str , slice (length - N, length))
# print Last N characters print (Str2)
|
Geeks For Geeks! eks!
# Time Complexity: O(n)
# Auxiliary Space: O(n)
Get the Last N Characters of a String Using the Partition and str[-N:] methods:
Split the string into 3 parts using the partition method and then print the result
# get input Str = "Geeks For Geeks!"
N = 4
# print the string print ( Str )
# split the string into 3 parts first, last_N, _ = Str .partition( Str [ - N:])
# print the result print (last_N)
|
Geeks For Geeks! eks!
Time complexity: O(N), where N is the length of the substring to be reversed.
Auxiliary space: O(N), since we create a list of N characters to store the reversed substring.