Python Compare Strings – How to Check for String Equality

When crafting the logic in your code, you may want to execute different commands depending on the similarities or differences between two or more strings.

In this article, we’ll see various operators that can help us check if strings are equal or not. If two strings are equal, the value returned would be True. Otherwise, it’ll return False.

How to Check for String Equality in Python

In this section, we’ll see examples of how we can compare strings using a few operators.

But before that, you need to have the following in mind:

  • Comparisons are case sensitive. G is not the same as g.
  • Each character in a string has an ASCII value (American Standard Code for Information Interchange) which is what operators look out for, and not the actual character. For example, G has an ASCII value of 71 while g has a value of of 103. When compared, g becomes greater than G.

How to Compare Strings Using the == Operator

The == operator checks if two strings are equal. Here is an example:

print("Hello" == "Hello")
# True

We got a value of True returned because both strings above are equal.

Let’s make it look a bit more fancy using some conditional logic:

string1 = "Hello"
string2 = "Hello" if string1 == string2: print("Both strings are equal")
else: print("Both strings are not equal") # Both strings are equal

In the code above, we created two strings and stored them in variables. We then compared their values. If these values are the same, we would get one message printed to the console and if they aren’t the same, we would have a different message printed.

Both strings in our case were equal, so we had “Both strings are equal” printed. If we changed the first string to “hello”, then we would have a different message.

Note that using = would make the interpreter assume you want to assign one value to another. So make sure you use == for comparison.

How to Compare Strings Using the != Operator

The != operator checks if two strings are not equal.

string1 = "Hello"
string2 = "Hello" if string1 != string2: print("Both strings are equal") # return if true
else: print("Both strings are not equal") # return if false # Both strings are equal

We’re using the same example but with a different operator. The != is saying the strings are not equal which is False so a message is printed based on those conditions.

I have commented the code to help you understand better.

How to Compare Strings Using the < Operator

The < operator checks if one string is smaller than the other.

print("Hello" < "hello") # True

This returns True because even though every other character index in both strings is equal, H has a smaller (ASCII) value than h .

We can also use conditional statements here like we did in previous sections.

How to Compare Strings Using the <= Operator

The <= operator checks if one string is less than or equal to another string.

print("Hello" <= "Hello") # True

Recall that this operator checks for two things – if one string is less or if both strings are the same – and would return True if either is true.

We got True because both strings are equal.

How to Compare Strings Using the > Operator

The > operator checks if one string is greater than another string.

print("Hello" > "Hello") # False

Since the string on the left isn’t greater than the one on the right, we got False returned to us.

How to Compare Strings Using the >= Operator

The >= operator checks if one string is greater than or equal to another string.

print("Hello" >= "Hello") # True

Since one of both conditions of the operator is true (both strings are equal), we got a value of True.

Conclusion

In this article, we learned about the various operators you can use when checking the equality of strings in Python with examples. We also saw how case sensitivity can alter the equality of strings.

Happy coding!

Posted by Contributor