- String Comparison in Python (Complete Guide)
- Python String Comparison
- Method-1: Using the == operator
- Method-2: Using the is operator
- Method-3: Using the cmp function
- Method-4: Using the strcoll function
- Method-5: Using the user-defined method
- Method-6: Using the !=
- Method-7: Using the SquenceMatcher
- Method-8: Using the < operator
- Method-9: Using the > operator
- Python Compare Strings – How to Check for String Equality
- How to Check for String Equality in Python
- How to Compare Strings Using the == Operator
- How to Compare Strings Using the != Operator
- How to Compare Strings Using the < Operator
- How to Compare Strings Using the 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. 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. 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. Источник
- How to Compare Strings Using the > Operator
- How to Compare Strings Using the >= Operator
- Conclusion
String Comparison in Python (Complete Guide)
In this Python tutorial, let us discuss Python compare strings. We will see various examples of python comparing two strings.
There are 9 methods to compare strings in Python, which are shown below:
- Using the == operator
- Using the is operator
- Using the cmp function
- Using the strcoll function
- Using the user-defined method
- Using the !=
- Using the SquenceMatcher
- Using the < operator
- Using the > operator
Python String Comparison
Here we will see multiple methods to compare two strings in Python. However, let us start with the first method in Python.
Method-1: Using the == operator
You can use the == operator to check if two strings are equal in Python.
string1 = "USA" string2 = "USA" # Compare string1 and string2 for equality if string1 == string2: print("The strings are equal") else: print("The strings are not equal")
The code defines two string variables string1 and string2, both with the value “USA”. It then checks if the two strings are equal using the == operator.
- If the two strings are equal, the program will print “The strings are equal”, otherwise it will print “The strings are not equal”. Since the two strings are indeed equal, the output will be “The strings are equal”.
Output: The strings are equal
Method-2: Using the is operator
You can use the is an operator to check if two strings are the same object in memory.
string1 = "United Kingdom" string2 = "UNITED KINGDOM" # Check if string1 and string2 refer to the same string in memory if string1 is string2: print("The strings are the same string") else: print("The strings are not the same string")
The above code defines two string variables, string1 and string2, with different capitalizations. It then uses the is operator to check if the two strings are the same object in memory.
Output: The strings are not the same string
Method-3: Using the cmp function
The cmp function returns -1 if the first string is less than the second, 0 if they are equal, and 1 if the first string is greater than the second.
def cmp(a, b): return (a > b) - (a < b) string1 = "Brazil" string2 = "Brazil" # Compare string1 and string2 using the cmp() function if cmp(string1, string2) == 0: print("The strings are equal") elif cmp(string1, string2) < 0: print("The first string is less than the second") else: print("The first string is greater than the second")
The code above defines a cmp() function which takes two arguments and returns 1 if the first argument is greater than the second, -1 if it’s less than the second, and 0 if they are equal.
- It uses the cmp() function to compare string1 and string2, and prints out a message based on the result.
Method-4: Using the strcoll function
The strcoll function is similar to cmp, but takes into account locale-specific rules for string comparison.
import locale # Set the locale to en_US.UTF-8 locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # Define two string variables, string1 and string2 string1 = "cafe" string2 = "caff" # Use the strcoll() function to compare string1 and string2 if locale.strcoll(string1, string2) == 0: print("The strings are equal") elif locale.strcoll(string1, string2) < 0: print("The first string is less than the second") else: print("The first string is greater than the second")
The code above imports the locale module, which provides a way to handle locale-specific data, such as dates, times, and currency formats.
- The code then sets the locale to en_US.UTF-8 using the setlocale() function. It defines two string variables, string1 and string2, and uses the strcoll() function to compare them.
Method-5: Using the user-defined method
We are going to create a function that takes two strings as arguments and returns True if they are equal (case-insensitive) or False otherwise.
# Define a function to compare two strings while ignoring case def string_compare(str1, str2): if str1.lower() == str2.lower(): return True else: return False # Call the string_compare() function with "Canada" and "canada" as arguments result = string_compare("Canada", "canada") # Print the result print(result)
The above code defines a function string_compare() that compares two strings, str1 and str2 , while ignoring the case. The function returns True if the two strings are equal, ignoring case, and False otherwise.
- The string_compare() function is called with “Canada” and “Canada” as arguments, and the resulting boolean value is assigned to the result variable. Finally, the value of the result is printed on the console.
Method-6: Using the !=
The != operator is used to check if two values are not equal to each other. In the context of strings, you can use != to check if two strings are not equal to each other.
# Define two strings with the same value string1 = "USA" string2 = "USA" # Compare the two strings for inequality if string1 != string2: # If the strings are not equal, print a message print("The two strings are not equal") else: # If the strings are equal, print a different message print("The two strings are equal")
In the above code, the != operator is used to check if string1 is not equal to an empty string. Since “hello” is not an empty string, the output of this code would be “The string is not empty”.
Output: The two strings are equal
Method-7: Using the SquenceMatcher
You can use the SequenceMatcher class from the difflib module to compare two strings and find the similarity between them.
# Import the difflib module import difflib # Define two strings to be compared string1 = "apple" string2 = "applesauce" # Create a SequenceMatcher object to compare the strings s = difflib.SequenceMatcher(None, string1, string2) # Get the similarity between the two strings similarity = s.ratio() # Print the similarity to the console print(f"The similarity between the two strings is ")
The above code imports the difflib module and uses it to compare the similarity of two strings, string1, and string2.
- A SequenceMatcher object is created with the two strings as arguments, and the ratio() method is called on this object to get the similarity score between the strings. The resulting value is stored in the similarity variable.
- Finally, the similarity value is printed to the console using an f-string with a precision of 2 decimal places.
Output: The similarity between the two strings is 0.67
In this case, the similarity between “apple” and “applesauce” is 0.67, indicating that the two strings are somewhat similar but not identical.
Method-8: Using the < operator
# Define two string variables name1 = 'Python good' name2 = 'Python is good' # Compare the strings and print the result if name1 < name2: print(name1,'is less than',name2)
The above code defines two string variables, name1 and name2. It then uses an if statement to compare the two strings using the less-than operator ( < ).
Method-9: Using the > operator
The > operator performs a lexicographic (dictionary) comparison between the two strings, meaning that it compares the characters in the strings from left to right and returns True if the first string is greater than the second string.
# Define two string variables name1 = 'Python is good' name2 = 'Python good' # Compare the strings and print the result if name1 > name2: print(name1,'is greater than',name2)
Output: Python is good is greater than Python good
You may also like to read the following Python tutorials.
In this Python tutorial, we learned about, Python compare strings using the following methods:
- Using the == operator
- Using the is operator
- Using the cmp function
- Using the strcoll function
- Using the user-defined method
- Using the !=
- Using the SquenceMatcher
- Using the < operator
- Using the > operator
I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.
Python Compare Strings – How to Check for String Equality
Ihechikara Vincent Abba
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:
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 not equal") # return if true else: print("Both strings are 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
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
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.
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.
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.