× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Làm thế nào để so sánh chuỗi trong Python? (So ​​sánh chuỗi 101)

26/10/2022 01:26

Trong bài viết này, chúng ta sẽ tìm hiểu chuỗi trong ngôn ngữ lập trình là gì, cách tạo và sử dụng chúng. Hơn nữa, chúng ta sẽ nghiên cứu các toán tử khác nhau để so sánh các chuỗi trong python.

Trong bài viết này, chúng ta sẽ tìm hiểu chuỗi trong ngôn ngữ lập trình là gì, cách tạo và sử dụng chúng. Hơn nữa, chúng ta sẽ nghiên cứu các toán tử khác nhau để so sánh các chuỗi trong python. Cuối cùng, chúng ta sẽ nghiên cứu ngắn gọn 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!

Chuỗi là gì?

Một chuỗi thường là một chuỗi các ký tự. Một ký 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 đó, xử lý 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 điều khiển của mình, nhưng bên trong nó được lưu trữ và thao tác dưới dạng kết hợp của số 0 và số 1. Việc chuyển đổi các ký tự và số nhị phân được gọi là mã hóa, và ngược lại của điều này được gọi là giải mã. Một số bảng mã 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 trong Python

Trong ngôn ngữ python, chúng ta có thể so sánh hai chuỗi chẳng hạn 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 hoặc 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 hay không.
  • ! =: Toán tử này kiểm tra xem hai chuỗi có bằng nhau hay không.
  • <: Toán tử này kiểm tra xem chuỗi ở phía bên trái có nhỏ hơn chuỗi ở phía bên phải hay không.
  • <=: Toán tử này kiểm tra xem chuỗi ở phía bên trái nhỏ hơn hoặc bằng chuỗi ở phía bên phải.
  • >: 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.
  • > =: 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.

Kiểm tra chuỗi bằng trong Python

Trong lập trình python, chúng ta có thể kiểm tra xem các chuỗi có bằng nhau hay không bằng cách sử dụng “==” hoặc bằng cách sử dụng hàm “.__ eq__”.

Thí dụ:

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 xem chúng có bằng nhau hay không, sau đó sử dụng câu lệnh điều kiện “if” với sự kết hợp của toán tử bằng.

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

 s1 and s2 are equal.

 s1 and s2 are equal.

So sánh không phân biệt chữ hoa chữ thường thì sao?

Trong khi kiểm tra tính 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, để giải quyết vấn đề này, chúng ta có thể sử dụng hàm fold (), Lower () hoặc upper () để bỏ qua so sánh không phân biệt chữ hoa chữ thường của chuỗi đẳng thứ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')

 

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

 string

 string

 s1 and s3 are equal in case-insensitive comparison

 string

 string

 s1 and s3 are equal in case-insensitive comparison

 STRING

 STRING

 s1 and s3 are equal in case-insensitive comparison