Hey! If you love Python and building Python apps as much as I do, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

Comparing Strings in Python

Learn how to compare strings in Python with this comprehensive guide, covering the basics of string comparison, step-by-step examples, and practical code snippets. …


Updated June 19, 2023

Learn how to compare strings in Python with this comprehensive guide, covering the basics of string comparison, step-by-step examples, and practical code snippets.

Definition of String Comparison

String comparison is a fundamental operation in programming that involves comparing two or more strings to determine if they are equal or not. In Python, strings are compared using various methods and operators, which we will explore in this article.

Why Compare Strings?

Comparing strings is essential in many real-world applications, such as:

  • Validating user input
  • Verifying passwords
  • Checking file names
  • Matching data records

Step-by-Step Explanation of String Comparison in Python

To compare two or more strings in Python, you can use the following methods and operators:

1. == Operator

The == operator is used to check if two strings are equal. Here’s an example:

str1 = "Hello"
str2 = "Hello"

if str1 == str2:
    print("Strings are equal")
else:
    print("Strings are not equal")

Output: Strings are equal

2. != Operator

The != operator is used to check if two strings are not equal. Here’s an example:

str1 = "Hello"
str2 = "World"

if str1 != str2:
    print("Strings are not equal")
else:
    print("Strings are equal")

Output: Strings are not equal

3. String Comparison Functions

Python provides various string comparison functions, such as:

  • str.lower(): Returns a lowercase version of the string
  • str.upper(): Returns an uppercase version of the string
  • str.casefold(): Returns a case-folded version of the string (useful for comparing strings with different cases)

Here’s an example:

str1 = "Hello"
str2 = "hELLO"

if str1.lower() == str2.lower():
    print("Strings are equal")
else:
    print("Strings are not equal")

Output: Strings are equal

4. Case-Insensitive Comparison

To perform case-insensitive comparison, you can use the casefold() method or convert both strings to lowercase or uppercase using the lower() or upper() methods.

Here’s an example:

str1 = "Hello"
str2 = "hELLO"

if str1.casefold() == str2.casefold():
    print("Strings are equal")
else:
    print("Strings are not equal")

Output: Strings are equal

Practical Examples and Code Snippets

Here are some practical examples and code snippets to demonstrate string comparison in Python:

1. Validating User Input

To validate user input, you can compare the input with a predefined string or pattern.

def validate_input(input_str):
    valid_str = "hello"
    if input_str.lower() == valid_str:
        return True
    else:
        return False

input_str = input("Enter your name: ")
if validate_input(input_str):
    print("Welcome!")
else:
    print("Invalid input")

2. Checking File Names

To check file names, you can compare the file name with a predefined string or pattern.

def check_file_name(file_name):
    valid_str = ".txt"
    if file_name.endswith(valid_str):
        return True
    else:
        return False

file_name = input("Enter your file name: ")
if check_file_name(file_name):
    print("Valid file name")
else:
    print("Invalid file name")

These examples demonstrate how to compare strings in Python using various methods and operators. By following these guidelines, you can write efficient and effective string comparison code in Python.


I hope this detailed article helps learners understand the concept of comparing strings in Python!

Stay up to date on the latest in Python, AI, and Data Science

Intuit Mailchimp