Hướng dẫn compare two string in python - so sánh hai chuỗi trong python

Hướng dẫn compare two string in python - so sánh hai chuỗi trong python
Đội câu trả lời giáo dục

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:

  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    0: Điều này kiểm tra xem hai chuỗi có bằng không
  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    1: Điều này kiểm tra xem hai chuỗi không bằng nhau
  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    2: Điều này kiểm tra xem chuỗi bên trái của nó nhỏ hơn bên phải của nó
  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    3: Điều này kiểm tra xem chuỗi bên trái của nó nhỏ hơn hoặc bằng với bên phải của nó
  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    4: Điều này kiểm tra xem chuỗi bên trái có lớn hơn bên phải của nó không
  • fruit1 = 'Apple'
    
    print(fruit1 == 'Apple')
    print(fruit1 != 'Apple')
    print(fruit1 < 'Apple')
    print(fruit1 > 'Apple')
    print(fruit1 <= 'Apple')
    print(fruit1 >= 'Apple')
    
    5: Đ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ề

fruit1 = 'Apple'

print(fruit1 == 'Apple')
print(fruit1 != 'Apple')
print(fruit1 < 'Apple')
print(fruit1 > 'Apple')
print(fruit1 <= 'Apple')
print(fruit1 >= 'Apple')
6.

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

  1. D có giá trị unicode nhỏ hơn j - 0x004A
  2. Hiểu mã - 0x006A
  3. 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
  4. J - 0x004a - 0x0068
  5. J - 0x006a - 0x006E
  6. o - 0x006f - 0x0044
  7. H - 0x0068 - 0x0064
  8. 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 name3 greater than or equal to name 2?")

print (name3 >= name2)

print("Is name4 less than name?")

print (name4 < name)

D - 0x0044

So sánh chuỗi Python có thể được thực hiện bằng cách sử dụng các toán tử bình đẳng (==) và so sánh (,! =, =). Không có phương pháp đặc biệt để so sánh hai chuỗi.

So sánh chuỗi Python

So sánh chuỗi Python được thực hiện bằng cách sử dụng các ký tự trong cả hai chuỗi. Các ký tự trong cả hai chuỗi được so sánh từng cái một. Khi các ký tự khác nhau được tìm thấy thì giá trị unicode của chúng được so sánh. Ký tự có giá trị unicode thấp hơn được coi là nhỏ hơn. Hãy cùng xem qua một số ví dụ để so sánh chuỗi.

fruit1 = 'Apple'

print(fruit1 == 'Apple')
print(fruit1 != 'Apple')
print(fruit1 < 'Apple')
print(fruit1 > 'Apple')
print(fruit1 <= 'Apple')
print(fruit1 >= 'Apple')

Output:

True
False
False
False
True
True

Cả hai chuỗi đều giống hệt nhau, do đó chúng bằng nhau. Vì vậy, toán tử bình đẳng đang trả về đúng trong trường hợp này. Hãy cùng xem xét một ví dụ khác, nơi chúng tôi sẽ nhận được đầu vào từ người dùng và sau đó so sánh chúng.

fruit1 = input('Please enter the name of first fruit:\n')
fruit2 = input('Please enter the name of second fruit:\n')

if fruit1 < fruit2:
    print(fruit1 + " comes before " + fruit2 + " in the dictionary.")
elif fruit1 > fruit2:
    print(fruit1 + " comes after " + fruit2 + " in the dictionary.")
else:
    print(fruit1 + " and " + fruit2 + " are same.")

Output:

Please enter the name of first fruit:
Apple
Please enter the name of second fruit:
Banana
Apple comes before Banana in the dictionary.

Please enter the name of first fruit:
Orange
Please enter the name of second fruit:
Orange
Orange and Orange are same.

Hãy để xem liệu so sánh có nhạy cảm với trường hợp hay không? Ngoài ra, nếu ’một người đến’ một?

print('apple' == 'Apple')
print('apple' > 'Apple')
print('A unicode is', ord('A'), ',a unicode is', ord('a'))

Output:

False
True
A unicode is 65 ,a unicode is 97

Vì vậy, Apple Apple, nhỏ hơn khi so sánh với Apple Apple vì các giá trị Unicode của chúng. Chúng tôi đang sử dụng hàm ord () để in giá trị điểm mã Unicode của các ký tự. Điều gì sẽ xảy ra nếu một trong các chuỗi được làm bằng chuỗi thứ hai và một số ký tự bổ sung?

print('Apple' < 'ApplePie')

Cả hai chuỗi đều giống hệt nhau, do đó chúng bằng nhau. Vì vậy, toán tử bình đẳng đang trả về đúng trong trường hợp này. Hãy cùng xem xét một ví dụ khác, nơi chúng tôi sẽ nhận được đầu vào từ người dùng và sau đó so sánh chúng.

print('apple' < 'apple')
print('apple' > 'apple')

Output:

False
False

Rõ ràng, cả hai chuỗi đều không nhỏ hơn cũng không lớn hơn chuỗi kia. Do đó đầu ra là sai trong cả hai trường hợp.

Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi.

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.

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

Cách so sánh các chuỗi bằng cách sử dụng

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.