How to get the last character of a string in Python?

To get the last character of a string in Python, you can use negative indexing with text[-1], slicing with text[-1:], or the len() function to find the last character's index.

Getting the last character of a string might appear easy, but there's more to it than meets the eye. In this blog, we'll explore various techniques to extract the last character of a string in Python using built in string methods. Whether you're new to programming or an experienced coder, we'll explain each method in simple terms, ensuring a solid grasp of the concepts.

Using String Indexing to Get the Last Character:

Python strings can be treated as sequences of characters, where each character has an index indicating its position in the string. Positive indexing starts from 0 (for the first character) and increases, while negative indexing starts from -1 (for the last character) and decreases towards the beginning of the string. To get the last character of a string using indexing, you can simply use the negative index -1. For example:

text = "" # given empty string
text = "Hello, World!"
last_character = text[-1] # last character retrieval using negative string index position inside square brackets

print(last_character)  # Output: !

Utilizing the Slice Operator:

Python's string slicing notation allows you to extract a portion of a string, including individual characters. To get the last character, you can use the slice `[-1:]`, which includes the last character up to the end of the string. This method is useful when you need a substring containing the last character. Example:

text = "Hello, World!" # given string variable
last_character = text[-1:] # use of negative indexes
print(last_character)  # Output: !

Using Python String Methods:

Python provides convenient string methods that simplify tasks like getting the last character. One such method is `str[-1]`, which directly returns the last character of the string. Another approach is using `str[-1:]`, which also gives the last character but as a substring.

#Python Program Example
text = "Hello, World!"

last_character_method1 = text[-1]
last_character_method2 = text[-1:]
print(last_character_method1)  # Output: !
print(last_character_method2)  # Output: !

Using length function (string method):

You can also use the len() function to get the string length, and then subtract 1 to get the index of the last character. For example, the following code will get the last character of the string "hello" using the len() function:

string = "hello" # string value
last_character = string[len(string) - 1]


In above example, the code will also print the letter o, which is the last character of the string "hello".

Performance Comparison:

When dealing with larger strings, performance becomes a consideration. It's essential to choose the most efficient method for your use case. Indexing is generally faster than slicing or string methods since it involves accessing a specific character directly. In contrast, slicing creates new substring and string methods may require additional operations. 

For long strings, indexing is likely to be the most efficient choice. However, in real-world applications, the performance differences might not be significant for smaller strings.


In conclusion, understanding the different approaches to "get last character of string python" empowers you to make informed decisions based on your specific needs. Whether you choose to index for performance or opt for more convenient methods, Python provides flexibility to achieve your desired outcome.

You can also check these blogs:

  1. What is Distance Matrix in Python?
  2. Python Mock Side Effect: Controlling Behavior in Your Tests
  3. Exploring Graph Data Structures with Python: The Adjacency List
  4. Exploring Python Color Palettes: Adding a Splash of Color to Your Projects
  5. Python Turtle Speed: Exploring the Need for Speed in Turtle Graphics
  6. How to convert a Python set to a string?
  7. What are Python Segmentation Faults?
  8. How to remove None Values from a list in Python?
  9. What is For Loop Countdown in Python?