So sánh ký tự trong Python

Khi 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ự giống hoặc khác nhau giữa hai hoặc nhiều chuỗi

Trong bài viết này, chúng ta sẽ xem các toán tử khác nhau có thể giúp chúng ta kiểm tra xem các chuỗi có bằng nhau hay không. Nếu hai chuỗi bằng nhau, giá trị trả về sẽ là True. Nếu không, nó sẽ trả về False

Cách kiểm tra sự bằng nhau của chuỗi trong Python

Trong phần này, chúng ta sẽ xem 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 ghi nhớ những điều sau

  • So sánh có phân biệt chữ hoa chữ thường. G không giống như g
  • Mỗi ký tự trong một chuỗi có một giá trị ASCII (Mã tiêu chuẩn Mỹ để trao đổi thông tin), đây là giá trị mà người vận hành tìm kiếm chứ không phải 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

Cách so sánh các chuỗi bằng toán tử ==

Toán tử == kiểm tra xem hai chuỗi có bằng nhau không. Đây là một ví dụ

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

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

Hãy làm cho nó trông lạ mắt hơn một chút bằng cách 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 đoạn mã trên, chúng tôi đã tạo hai chuỗi và lưu trữ chúng trong các biến. Sau đó chúng tôi so sánh giá trị của chúng. Nếu các giá trị này giống nhau, chúng tôi sẽ nhận được một thông báo được in ra bảng điều khiển và nếu chúng không giống nhau, chúng tôi sẽ in một thông báo khác

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 đã in "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

string1 = "Hello"
string2 = "Hello"

if string1 == string2:
    print("Both strings are equal")
else:
    print("Both strings are not equal")
    
# Both strings are equal
2 sẽ khiến trình thông dịch cho rằng bạn muốn gán giá trị này cho giá trị khác. Vì vậy, hãy chắc chắn rằng bạn sử dụng == để so sánh

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 equal4

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
4 kiểm tra xem hai chuỗi có bằng nhau không

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.

string1 = "Hello"
string2 = "Hello"

if string1 == string2:
    print("Both strings are equal")
else:
    print("Both strings are not equal")
    
# Both strings are equal
4 đang nói rằng các chuỗi không bằng nhau, đó là False vì vậy một thông báo được in dựa trên các điều kiện đó

Mình có comment code giúp bạn hiểu rõ hơn

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 equal8

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
8 kiểm tra xem một chuỗi có nhỏ hơn chuỗi kia không

print("Hello" < "hello")

# True

Điều này trả về True bởi 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ị (ASCII) nhỏ hơn h

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

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 not equal") # return if true else: print("Both strings are equal") # return if false # Both strings are equal1

Toán tử

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
1 kiểm tra xem một chuỗi có nhỏ hơn hoặc bằng một chuỗi khác không

print("Hello" <= "Hello")

# True

Nhớ lại rằng toán tử này kiểm tra hai điều – nếu một chuỗi nhỏ hơn hoặc nếu cả hai chuỗi giống nhau – và sẽ trả về True nếu một trong hai điều đó đú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ử 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 equal5

Toán tử

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
5 kiểm tra xem một chuỗi có lớn hơn chuỗi khác không

print("Hello" > "Hello")

# False

Vì chuỗi bên trái không lớn hơn chuỗi bên phải nên chúng tôi đã trả lại False 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 not equal") # return if true else: print("Both strings are equal") # return if false # Both strings are equal8

Toán tử

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
8 kiểm tra xem một chuỗi có lớn hơn hoặc bằng một chuỗi khác không

print("Hello" >= "Hello")

# True

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

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu về các toán tử khác nhau mà bạn có thể sử dụng khi kiểm tra tính bằng nhau của chuỗi trong Python với các ví dụ. Chúng tôi cũng đã thấy cách phân biệt chữ hoa chữ thường có thể thay đổi đẳng thức của các chuỗi

Mã hóa vui vẻ

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


So sánh ký tự trong Python
Ihechikara Vincent Abba

Tiểu sử của tác giả này có thể được tìm thấy trong các bài viết của ông


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã 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ể so sánh hai chữ cái trong Python không?

So sánh chuỗi trong Python diễn ra theo từng ký tự . Nghĩa là, các ký tự ở cùng vị trí được so sánh từ cả hai chuỗi. Nếu các ký tự đáp ứng điều kiện so sánh đã cho, nó sẽ di chuyển đến các ký tự ở vị trí tiếp theo. Mặt khác, nó chỉ trả về Sai.

== so sánh trong Python là gì?

Toán tử == so sánh giá trị hoặc đẳng thức của hai đối tượng , trong khi toán tử is của Python kiểm tra xem hai biến có trỏ đến cùng một đối tượng hay không . Trong phần lớn các trường hợp, điều này có nghĩa là bạn nên sử dụng các toán tử đẳng thức == và. = , trừ khi bạn đang so sánh với Không.

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

Bạn không nên sử dụng == (toán tử đẳng thức) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, i. e. liệu chúng có phải là cùng một đối tượng hay không. Mặt khác, phương thức equals() so sánh xem giá trị của các chuỗi có bằng nhau hay không và không phải chính đối tượng.