Các nhà khai thác so sánh Python
Để so sánh hai chuỗi, chúng tôi có nghĩa là chúng tôi muốn xác định xem hai chuỗi có tương đương với nhau hay không, hoặc có lẽ chuỗi nào sẽ lớn hơn hoặc nhỏ hơn chuỗi kia.
Đ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 không!=
: Điều này kiểm tra xem hai chuỗi không bằng nhau=
: Điều này kiểm tra xem chuỗi bên trái của nó lớn hơn hoặc bằng với bên phải của nó
Cách thực hiện so sánh
So sánh chuỗi trong Python diễn ra nhân vật theo nhân vật. Đó là, các ký tự trong cùng một 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ẽ chuyển sang các ký tự ở vị trí tiếp theo. Nếu không, nó chỉ trả về False
.
Lưu ý: Một số điểm cần nhớ khi sử dụng toán tử so sánh chuỗi: Some points to remember when using string comparison operators:
- Các so sánh là nhạy cảm trường hợp, do đó cùng một chữ cái trong các trường hợp chữ cái khác nhau [trên/dưới] sẽ được coi là các ký tự riêng biệt
- Nếu hai ký tự là khác nhau, thì giá trị unicode của chúng được so sánh; ký tự có giá trị unicode nhỏ hơn được coi là thấp hơn.
Thí dụ
So sánh là nhạy cảm trường hợp
1 trong 5 of 5
So sánh là nhạy cảm trường hợp
1 trong 5 of 5
J có giá trị unicode nhỏ hơn j
1 trong 5 of 5
J có giá trị unicode nhỏ hơn j
1 trong 5 of 5
J có giá trị unicode nhỏ hơn j
1 trong 5 of 5
J có giá trị unicode nhỏ hơn j
D có giá trị unicode nhỏ hơn j
- D có giá trị unicode nhỏ hơn j - 0x004A
- Hiểu mã - 0x006A
- Tiện ích mã bên dưới sử dụng các toán tử so sánh mà chúng ta đã nói ở trên để so sánh các chuỗi khác nhau. Trước khi chúng ta xem mã, bên dưới là các giá trị Unicode cho tất cả các ký tự được sử dụng trong đoạn mã: - 0x006F
- J - 0x004a - 0x0068
- J - 0x006a - 0x006E
- o - 0x006f - 0x0044
- H - 0x0068 - 0x0064
- N - 0x006E - 0x0065
name = 'John'
name2 = 'john'
name3 = 'doe'
name4 = 'Doe'
print["Are name and name 1 equal?"]
print [name == name2]
print["Are name and name3 different?"]
print [name != name3]
print["Is name less than or equal to name2?"]
print [name = name2]
print["Is name4 less than name?"]
print [name4 < name]
D - 0x0044
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!
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.
- 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:This operator checks whether the string on the left side is smaller than the string on the right side.
- 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: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.