Hướng dẫn check two strings are equal in python - kiểm tra hai chuỗi bằng nhau trong python

Trong bài viết này, chúng ta sẽ tìm hiểu những gì là các chuỗi trong ngôn ngữ lập trình, cách tạo chúng và sử dụng của chúng. Hơn nữa, chúng tôi sẽ nghiên cứu các nhà khai thác khác nhau để so sánh các chuỗi trong Python. Cuối cùng, chúng tôi sẽ nghiên cứu một số so sánh chuỗi Python cùng với ví dụ và đầu ra mã Python của nó. Vậy hãy bắt đầu!

Show

Chuỗi là gì?

Một chuỗi nói chung là một chuỗi các ký tự. Một nhân vật là một biểu tượng đơn giản. Ví dụ, trong ngôn ngữ tiếng Anh, chúng tôi có sẵn 26 ký tự. Hệ thống máy tính không hiểu các ký tự và do đó, do đó, đối phó với các số nhị phân. Mặc dù chúng ta có thể thấy các ký tự trên màn hình màn hình của mình, nhưng bên trong nó được lưu trữ và thao tác như là sự kết hợp của 0 và 1. Việc chuyển đổi các ký tự và số nhị phân được gọi là mã hóa và mặt trái của điều này được gọi là giải mã. & NBSP; Một số mã hóa phổ biến là ASCII và Unicode. Trong ngôn ngữ lập trình Python, một chuỗi là một chuỗi các ký tự Unicode.

Toán tử so sánh chuỗi Python

Trong ngôn ngữ Python, chúng ta có thể so sánh hai chuỗi như xác định xem hai chuỗi có tương đương với nhau hay không, hoặc thậm chí chuỗi nào lớn hơn hay nhỏ hơn nhau. Hãy để chúng tôi kiểm tra một số toán tử so sánh chuỗi được sử dụng cho mục đích này bên dưới:

  • ==: Toán tử này kiểm tra xem hai chuỗi có bằng nhau không.: This operator checks whether two strings are equal.
  • ! =: Toán tử này kiểm tra xem hai chuỗi không bằng nhau.This operator checks whether two strings are not equal.
  • <: This operator checks whether the string on the left side is smaller than the string on the right side.
  • <=: This operator checks whether the string on the left side is smaller or equal to the string on the right side.
  • >: Toán tử này kiểm tra xem chuỗi ở phía bên trái có lớn hơn chuỗi ở phía bên phải hay không.This operator checks whether the string on the left side is greater than the string on the right side.
  • > =: Toán tử này kiểm tra xem chuỗi ở phía bên trái có lớn hơn chuỗi ở phía bên phải hay không.This operator checks whether the string on the left side is greater than the string on the right side.

Chuỗi bằng kiểm tra trong Python

Trong chương trình Python, chúng ta có thể kiểm tra xem các chuỗi có bằng hay không sử dụng hàm ==, hay bằng cách sử dụng chức năng .__ EQ__ EQ__.

Example:

s1 = 'String'
s2 = 'String'
s3 = 'string'

# case sensitive equals check
if s1 == s2:
    print('s1 and s2 are equal.')

if s1.__eq__(s2):
    print('s1 and s2 are equal.')

Ở đây, chúng tôi kiểm tra chuỗi S1 và S2 cho dù chúng có bằng hay không, sau đó sử dụng câu lệnh IF IF có điều kiện với sự kết hợp của toán tử bằng nhau.

Đầu ra của mã trên như được đưa ra dưới đây:

& nbsp; s1 và s2 bằng nhau.

& nbsp; s1 và s2 bằng nhau.

Điều gì về trường hợp so sánh không nhạy cảm?

Trong khi kiểm tra sự bình đẳng trong chuỗi đôi khi chúng ta muốn bỏ qua trường hợp của chuỗi trong khi so sánh. Vì vậy, như một giải pháp cho vấn đề này, chúng ta có thể sử dụng hàm case fold (), thấp hơn () hoặc trên () để bỏ qua trường hợp so sánh không nhạy cảm của bình đẳng chuỗi.

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')

Đầu ra của mã trên như được đưa ra dưới đây:

 string

 string

& nbsp; s1 và s2 bằng nhau.

 string

 string

& nbsp; s1 và s2 bằng nhau.

 STRING

 STRING

& nbsp; s1 và s2 bằng nhau.

Điều gì về trường hợp so sánh không nhạy cảm?

Trong khi kiểm tra sự bình đẳng trong chuỗi đôi khi chúng ta muốn bỏ qua trường hợp của chuỗi trong khi so sánh. Vì vậy, như một giải pháp cho vấn đề này, chúng ta có thể sử dụng hàm case fold (), thấp hơn () hoặc trên () để bỏ qua trường hợp so sánh không nhạy cảm của bình đẳng chuỗi.

Hướng dẫn check two strings are equal in python - kiểm tra hai chuỗi bằng nhau trong python

Khi chế tạo logic trong mã của bạn, bạn có thể muốn thực thi các lệnh khác nhau tùy thuộc vào sự tương đồng hoặc khác biệt giữa hai hoặc nhiều chuỗi.

Trong bài viết này, chúng ta sẽ thấy các nhà khai thác khác nhau có thể giúp chúng ta kiểm tra xem các chuỗi có bằng hay không. Nếu hai chuỗi bằng nhau, giá trị được trả về sẽ là True. Nếu không, nó sẽ trở lại ____10.

Trong phần này, chúng ta sẽ thấy các ví dụ về cách chúng ta có thể so sánh các chuỗi bằng một vài toán tử.

Nhưng trước đó, bạn cần phải có những điều sau đây trong tâm trí:

  • So sánh là trường hợp nhạy cảm. G không giống như g.G is not the same as g.
  • Mỗi ký tự trong một chuỗi có giá trị ASCII (mã tiêu chuẩn của Mỹ để trao đổi thông tin), đó là những gì các nhà khai thác tìm kiếm, chứ không phải là ký tự thực tế. Ví dụ, G có giá trị ASCII là 71 trong khi G có giá trị là 103. Khi so sánh, g trở nên lớn hơn G.G has an ASCII value of 71 while g has a value of of 103. When compared, g becomes greater than G.

Cách so sánh các chuỗi bằng toán tử s1 = 'String' s2 = 'String' s3 = 'string' if s1.casefold() == s3.casefold(): print(s1.casefold()) print(s3.casefold()) print('s1 and s3 are equal in case-insensitive comparison') if s1.lower() == s3.lower(): print(s1.lower()) print(s3.lower()) print('s1 and s3 are equal in case-insensitive comparison') if s1.upper() == s3.upper(): print(s1.upper()) print(s3.upper()) print('s1 and s3 are equal in case-insensitive comparison') 1

Toán tử

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
1 kiểm tra xem hai chuỗi bằng nhau. Đây là một ví dụ:

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

Chúng tôi có giá trị True được trả về vì cả hai chuỗi trên đều bằng nhau.

Chúng ta hãy làm cho nó trông lạ mắt hơn một chút khi sử dụng một số logic có điều kiện:

string1 = "Hello"
string2 = "Hello"

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

Trong mã trên, chúng tôi đã tạo hai chuỗi và lưu trữ chúng theo các biến. Sau đó chúng tôi so sánh các giá trị của họ. Nếu các giá trị này giống nhau, chúng tôi sẽ nhận được một tin nhắn được in vào bảng điều khiển và nếu chúng không giống nhau, chúng tôi sẽ có một tin nhắn khác được in.

Cả hai chuỗi trong trường hợp của chúng tôi đều bằng nhau, vì vậy chúng tôi có "cả hai chuỗi đều bằng nhau". Nếu chúng tôi thay đổi chuỗi đầu tiên thành "Xin chào", thì chúng tôi sẽ có một thông báo khác.

Lưu ý rằng việc sử dụng

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
4 sẽ khiến trình thông dịch giả định rằng bạn muốn gán một giá trị này cho một giá trị khác. Vì vậy, hãy chắc chắn rằng bạn sử dụng
s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
1 để so sánh.

Cách so sánh các chuỗi bằng toán tử s1 = 'String' s2 = 'String' s3 = 'string' if s1.casefold() == s3.casefold(): print(s1.casefold()) print(s3.casefold()) print('s1 and s3 are equal in case-insensitive comparison') if s1.lower() == s3.lower(): print(s1.lower()) print(s3.lower()) print('s1 and s3 are equal in case-insensitive comparison') if s1.upper() == s3.upper(): print(s1.upper()) print(s3.upper()) print('s1 and s3 are equal in case-insensitive comparison') 6

Toán tử

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
6 kiểm tra xem hai chuỗi không bằng nhau.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

Chúng tôi đang sử dụng cùng một ví dụ nhưng với một toán tử khác.

s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
6 đang nói rằng các chuỗi không bằng
s1 = 'String'
s2 = 'String'
s3 = 'string'

if s1.casefold() == s3.casefold():
    print(s1.casefold())
    print(s3.casefold())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.lower() == s3.lower():
    print(s1.lower())
    print(s3.lower())
    print('s1 and s3 are equal in case-insensitive comparison')

if s1.upper() == s3.upper():
    print(s1.upper())
    print(s3.upper())
    print('s1 and s3 are equal in case-insensitive comparison')
0 vì vậy một thông điệp được in dựa trên các điều kiện đó.

Tôi đã nhận xét mã để giúp bạn hiểu rõ hơn.

Cách so sánh các chuỗi bằng toán tử print("Hello" == "Hello") # True0

Toán tử

print("Hello" == "Hello")
# True
0 kiểm tra xem một chuỗi nhỏ hơn chuỗi kia.

print("Hello" < "hello")

# True

Điều này trả về True vì mặc dù mọi chỉ số ký tự khác trong cả hai chuỗi đều bằng nhau, H có giá trị nhỏ hơn (ASCII) so với H.H has a smaller (ASCII) value than h .

Chúng tôi cũng có thể sử dụng các câu lệnh có điều kiện ở đây như chúng tôi đã làm trong các phần trước.

Cách so sánh các chuỗi bằng toán tử print("Hello" == "Hello") # True3

Toán tử

print("Hello" == "Hello")
# True
3 kiểm tra xem một chuỗi nhỏ hơn hoặc bằng chuỗi khác.

print("Hello" <= "Hello")

# True

Hãy nhớ lại rằng toán tử này kiểm tra hai điều - nếu một chuỗi ít hơn hoặc nếu cả hai chuỗi giống nhau - và sẽ trả về True nếu có đúng.

Chúng tôi có True vì cả hai chuỗi đều bằng nhau.

Cách so sánh các chuỗi bằng toán tử print("Hello" == "Hello") # True7

Toán tử

print("Hello" == "Hello")
# True
7 kiểm tra xem một chuỗi lớn hơn chuỗi khác.

print("Hello" > "Hello")

# False

Vì chuỗi bên trái không lớn hơn mức bên phải, chúng tôi đã trả lại cho chúng tôi.

Cách so sánh các chuỗi bằng toán tử string1 = "Hello" string2 = "Hello" if string1 == string2: print("Both strings are equal") else: print("Both strings are not equal") # Both strings are equal0

Toán tử

string1 = "Hello"
string2 = "Hello"

if string1 == string2:
    print("Both strings are equal")
else:
    print("Both strings are not equal")
    
# Both strings are equal
0 kiểm tra xem một chuỗi lớn hơn hoặc bằng chuỗi khác.

print("Hello" >= "Hello")

# True

Vì một trong cả hai điều kiện của toán tử là đúng (cả hai chuỗi đều bằng nhau), chúng tôi có giá trị True.

Sự kết luận

Trong bài viết này, chúng tôi đã tìm hiểu về các nhà khai thác khác nhau mà bạn có thể sử dụng khi kiểm tra sự bình đẳng của các chuỗi trong Python với các ví dụ. Chúng tôi cũng thấy làm thế nào độ nhạy của trường hợp có thể thay đổi sự bình đẳng của chuỗi.

Mã hóa hạnh phúc!



Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Bạn có thể sử dụng == với chuỗi Python không?

Các toán tử so sánh Python Điều này được thực hiện bằng cách sử dụng các toán tử sau: ==: Điều này kiểm tra xem hai chuỗi có bằng nhau không. ! =: Điều này kiểm tra nếu hai chuỗi không bằng nhau.== : This checks whether two strings are equal. != : This checks if two strings are not equal.

Tôi có thể sử dụng == để so sánh hai chuỗi không?

Bạn không nên sử dụng == (toán tử bình đẳng) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, tức là chúng có cùng một đối tượng hay không. Mặt khác, phương thức bằng () so sánh liệu giá trị của các chuỗi có bằng nhau hay không là chính đối tượng. because they compare the reference of the string, i.e. whether they are the same object or not. On the other hand, equals() method compares whether the value of the strings is equal, and not the object itself.

Làm thế nào để == hoạt động trong Python?

Đặt đơn giản: == Xác định xem các giá trị của hai đối tượng có bằng nhau hay không, trong khi xác định nếu chúng là cùng một đối tượng.*id () là một hàm tích hợp trong Python.Nó chấp nhận một tham số duy nhất và được sử dụng để trả về danh tính của một đối tượng.determines if the values of two objects are equal, while is determines if they are the exact same object. *id() is a built-in function in Python. It accepts a single parameter and is used to return the identity of an object.

Làm thế nào bạn sẽ xác nhận rằng 2 chuỗi có cùng một python nhận dạng?

Làm thế nào bạn sẽ xác nhận rằng 2 chuỗi có cùng một danh tính?Toán tử IS trả về true nếu 2 tên trỏ đến cùng một vị trí trong bộ nhớ.Đây là những gì chúng ta đang đề cập khi chúng ta nói về danh tính.Đừng nhầm lẫn là với ==, cái sau chỉ kiểm tra bình đẳng.The is operator returns True if 2 names point to the same location in memory. This is what we're referring to when we talk about identity. Don't confuse is with ==, the latter which only tests equality.