Cách so sánh hai câu trong Python

Tìm kiếm liên quan. python so sánh chuỗi bỏ qua chữ hoa chữ thường, python so sánh hai chuỗi theo từng ký tự, python so sánh hai chuỗi về độ giống nhau, python so sánh hai chuỗi và trả về sự khác biệt, python so sánh chuỗi bỏ qua khoảng trắng, python so sánh chuỗi không bằng nhau, python so sánh chuỗi với ký tự đại diện, python so sánh

 

Giới thiệu về chuỗi so sánh Python

Trong python, mọi thứ chúng ta viết bên trong dấu ngoặc kép hoặc dấu ngoặc đơn đều được coi là một chuỗi. Các chuỗi là các chuỗi bất biến của kiểu dữ liệu và các chuỗi thực sự là một chuỗi các ký tự Unicode. Trong hướng dẫn này, chúng ta sẽ nói về so sánh chuỗi python. Chúng tôi sẽ lấy các trường hợp khác nhau và xem cách chúng tôi có thể so sánh các chuỗi bằng cách lấy các ví dụ sử dụng các toán tử so sánh khác nhau. Hơn nữa, chúng tôi cũng sẽ so sánh các chuỗi trong danh sách. Đến cuối hướng dẫn này, bạn sẽ có kiến ​​thức vững chắc về các chuỗi so sánh trong python

CŨNG ĐỌC. Cài đặt Gói Python từ Github [Linux và Windows]

 

Ví dụ về chuỗi Python

Như chúng ta đã thảo luận, chuỗi đó là một kiểu dữ liệu trình tự bất biến được bao bọc bên trong dấu nháy đơn, kép hoặc ba

Xem ví dụ bên dưới

# creating string
x = "My name"

# printing type
print(type(x))

đầu ra

<class 'str'>

Khoảng trắng được viết bên trong dấu ngoặc kép cũng được coi là một kiểu chuỗi. Xem ví dụ bên dưới

# creating string
x = " "

# printing type
print(type(x))<code>

đầu ra

<class 'str'>

 

Chuỗi so sánh Python bỏ qua các trường hợp

Bây giờ chúng ta hãy so sánh hai chuỗi trong python. Trong phần cụ thể này, chúng tôi sẽ phát triển một chương trình python để so sánh giữa các chuỗi để bỏ qua các trường hợp hoặc phân biệt chữ hoa chữ thường. Python là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Ở đây chữ hoa không bằng chữ thường. Điều đó có nghĩa là khi chúng ta so sánh hai chuỗi trong python, chúng phải hoàn toàn giống nhau, thậm chí trong trường hợp khác, chúng sẽ được coi là khác nhau. Xem ví dụ bên dưới

Quảng cáo

str1 = "Hello"
str2 = "hello"

print(str1==str2)

đầu ra

False

Tuy nhiên, chúng ta có thể phát triển một chương trình không phân biệt chữ hoa chữ thường, nghĩa là nó sẽ bỏ qua sự khác biệt về chữ hoa hoặc chữ thường

 

Chuỗi so sánh Python bỏ qua trường hợp sử dụng chức năng thấp hơn

Trong Python có một hàm tích hợp được gọi là hàm

False
0 chuyển đổi tất cả các ký tự chữ hoa trong một chuỗi thành ký tự chữ thường. Xem ví dụ về cách chúng ta có thể bỏ qua phân biệt chữ hoa chữ thường bằng hàm thấp hơn

str1 = "Hello"
str2 = "hello"

print(str1.lower()==str2.lower())

đầu ra

________số 8_______

 

CŨNG ĐỌC. Đã giải quyết. Cách thực hiện tiếp tục dòng trong Python [ĐÚNG CÁCH]

Lưu ý rằng lần này chúng ta nhận được

False
1 vì hàm
False
0 chuyển đổi tất cả các ký tự thành chữ thường và sau đó so sánh hai chuỗi

Xem thêm một ví dụ ở đây để so sánh

# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")

đầu ra

they are same

 

Chuỗi so sánh Python bỏ qua trường hợp sử dụng phương thức trên

Chúng tôi cũng có một chức năng tích hợp được gọi là

False
3 để chuyển đổi tất cả các ký tự chữ thường thành chữ hoa. Nó hoạt động theo cách tương tự như chúng tôi hạ thấp công việc. Xem ví dụ bên dưới

Quảng cáo

<class 'str'>
0

đầu ra

________số 8_______

Theo cách tương tự, chúng ta cũng có thể sử dụng chúng trong câu lệnh if-else. Xem thêm một ví dụ bên dưới

<class 'str'>
2

đầu ra

they are same

 

Chuỗi so sánh Python bỏ qua trường hợp sử dụng chức năng casefold

Hàm

False
4 là một hàm tích hợp khác của python hoạt động tương tự như các phương thức dưới và trên. Nhưng không giống như
False
0 và
False
3 thực hiện so sánh chuỗi chặt chẽ bằng cách loại bỏ tất cả các phân biệt chữ hoa chữ thường, phương thức
False
4 được sử dụng để khớp không phân biệt chữ hoa chữ thường. Ví dụ: chữ cái tiếng Đức
False
8 bằng với
False
9 trong tiếng Anh. Nếu chúng ta áp dụng một phương pháp trên hoặc dưới để so sánh ký tự này với
False
9, nó sẽ trả về
str1 = "Hello"
str2 = "hello"

print(str1.lower()==str2.lower())
1, nhưng
False
4 sẽ chuyển đổi
False
8 thành
False
9 và trả về
False
1. Xem ví dụ sau

<class 'str'>
4

đầu ra

________số 8_______

 

CŨNG ĐỌC. Cách in dãy() theo thứ tự đảo ngược trong Python

Python so sánh hai chuỗi ký tự theo ký tự

Một cách khác để so sánh hai chuỗi là so sánh từng ký tự. Như chúng ta biết các chuỗi có thể lặp lại nên chúng ta có thể lặp lại chúng và so sánh từng ký tự. Có thể có nhiều cách để lặp nhưng ở đây chúng ta sẽ thấy cách đơn giản nhất. Xem ví dụ bên dưới sử dụng vòng lặp for để lặp qua chuỗi và so sánh cả hai

Quảng cáo

<class 'str'>
6

đầu ra

________số 8_______

Trong ví dụ trên, hàm lấy hai chuỗi làm đầu vào và sử dụng vòng lặp for, sau đó so sánh từng ký tự của chuỗi bằng cách chỉ định số chỉ mục của chúng

Theo cách tương tự, chúng ta có thể so sánh từng ký tự bằng cách bỏ qua sự khác biệt về chữ hoa chữ thường. Xem ví dụ bỏ qua sự khác biệt trường hợp

<class 'str'>
8

đầu ra

________số 8_______

Chúng tôi vẫn nhận được

False
1 vì phương thức
False
0 chuyển đổi tất cả chữ hoa thành chữ thường và sau đó so sánh các ký tự

CŨNG ĐỌC. Giải thích về toán tử Python ternary [Ví dụ đơn giản]

 

Python so sánh các chuỗi và trả về sự khác biệt

Có thể có trường hợp chúng ta muốn tìm sự khác biệt giữa hai chuỗi hoặc chúng ta muốn so sánh hai chuỗi nhưng nó trả về

str1 = "Hello"
str2 = "hello"

print(str1.lower()==str2.lower())
1 vì vậy chúng ta muốn tìm ra sự khác biệt giữa hai chuỗi đó. Trong python có thể có nhiều cách để đạt được điều này nhưng ở đây chúng tôi sẽ thực hiện cách đơn giản nhất. Xem đoạn mã sau

# creating string
x = " "

# printing type
print(type(x))<code>
0

đầu ra

# creating string
x = " "

# printing type
print(type(x))<code>
1

Lưu ý rằng trong chuỗi đã cho chỉ có B là khác và chương trình này trả về giá trị khác thành công. Đây là một cách khác để áp dụng logic tương tự. Xem mã bên dưới trả về các giá trị chênh lệch

# creating string
x = " "

# printing type
print(type(x))<code>
2

đầu ra

# creating string
x = " "

# printing type
print(type(x))<code>
3

Như chúng tôi đã đề cập trước đó, có thể có nhiều phương pháp khác để đạt được kết quả tương tự. Bạn có thể chọn bất kỳ trong số chúng tùy thuộc vào kỹ năng mã hóa của bạn

Quảng cáo

 

CŨNG ĐỌC. Giải thích câu lệnh vượt qua Python [Hướng dẫn cho người mới bắt đầu]

Chuỗi so sánh Python bỏ qua khoảng trắng

Bây giờ hãy xem ví dụ đơn giản sau đây, nơi chúng ta sẽ thử so sánh hai chuỗi, một chuỗi có khoảng trắng trước nó và một chuỗi không có khoảng trắng. Xem ví dụ bên dưới

# creating string
x = " "

# printing type
print(type(x))<code>
4

đầu ra

False

Chúng tôi nhận được

str1 = "Hello"
str2 = "hello"

print(str1.lower()==str2.lower())
1 vì khoảng trắng cũng được coi là ký tự trong python. Giả sử chúng ta không muốn chương trình của mình xem xét các khoảng trắng, trong python, chúng ta có thể đạt được điều này bằng một đoạn mã đơn giản. Python cung cấp cho chúng ta một hàm tích hợp có tên là
True
0 giúp chúng ta đạt được logic đã đề cập ở trên và nó bỏ qua các khoảng trắng

# creating string
x = " "

# printing type
print(type(x))<code>
6

đầu ra

________số 8_______

Lần này nó trả về

False
1 vì hàm dải bỏ qua các khoảng trắng và sau đó chúng ta so sánh các chuỗi

Xem thêm một ví dụ chứa nhiều khoảng trắng

# creating string
x = " "

# printing type
print(type(x))<code>
8

đầu ra

# creating string
x = " "

# printing type
print(type(x))<code>
9

 

Python so sánh các chuỗi không bằng toán tử

Cho đến giờ chúng ta đã so sánh các chuỗi bằng cách sử dụng dấu đẳng thức của python (

True
2 ). Tuy nhiên, python cũng hỗ trợ chúng ta so sánh các chuỗi dựa trên dấu đẳng thức (
True
3). Điều này sẽ trả về true nếu cả hai chuỗi không bằng nhau, nếu không, nó sẽ trả về
str1 = "Hello"
str2 = "hello"

print(str1.lower()==str2.lower())
1. Xem ví dụ bên dưới

<class 'str'>
0

đầu ra

________số 8_______

Nó trả về

False
1 vì cả hai chuỗi không bằng nhau và giả định của chúng tôi là
False
1

Quảng cáo

Trong Python is not cũng là một cách thay thế để so sánh hai chuỗi. Nó cũng sẽ trả về

False
1 nếu cả hai chuỗi không giống nhau. Xem ví dụ sử dụng is not thay cho toán tử
True
3

<class 'str'>
2

đầu ra

________số 8_______

 

CŨNG ĐỌC. ĐÃ GIẢI QUYẾT. Đo thời gian thực thi bằng Python [5 phương pháp]

Python so sánh các chuỗi với ký tự đại diện

Dấu hoa thị (

True
9) được sử dụng để chỉ định bất kỳ số lượng ký tự nào. Nó thường được sử dụng ở cuối từ gốc. Điều này thật tuyệt khi bạn muốn tìm kiếm các đuôi thay đổi của một từ gốc. Ví dụ: tìm kiếm clean* sẽ yêu cầu cơ sở dữ liệu xem xét tất cả các từ có thể kết thúc bằng root clean. Kết quả có thể là làm sạch, làm sạch hoặc làm sạch tùy thuộc vào danh sách các từ của chúng tôi

Trong khi dấu chấm hỏi (

# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")
0) được sử dụng để đại diện cho một ký tự duy nhất ở bất kỳ đâu trong từ. Nó hữu ích nhất khi có nhiều cách viết khác nhau cho một từ và chúng tôi muốn tìm kiếm tất cả các biến thể cùng một lúc. Ví dụ: tìm kiếm
# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")
1 có thể trả về danh sách hoặc bị mất tùy thuộc vào các từ có sẵn

 

Bây giờ chúng ta hãy lấy một ví dụ về cả dấu hoa thị và dấu chấm hỏi để tìm kiếm các từ khác nhau. Xem mã python bên dưới

<class 'str'>
4

đầu ra

<class 'str'>
5

Bây giờ chúng ta hãy lấy ví dụ về dấu hoa thị và xem những gì chúng ta nhận được cho

# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")
2. Xem ví dụ bên dưới

<class 'str'>
6

đầu ra

<class 'str'>
7

 

CŨNG ĐỌC. Giải pháp HackerRank. Các lớp - Xử lý số phức Python

Python so sánh các chuỗi trong một danh sách

Python cung cấp cho chúng ta nhiều cách khác nhau để so sánh hai danh sách. So sánh là quá trình đối chiếu các mục dữ liệu của một bên với một mục dữ liệu khác để xem chúng có giống nhau hay không. Ở đây chúng ta sẽ so sánh dữ liệu của hai tập hợp và xem chúng có bằng nhau hay không

Xem ví dụ bên dưới, dấu đẳng thức trực tiếp nào để so sánh hai danh sách chứa chuỗi dưới dạng tập dữ liệu

<class 'str'>
8

đầu ra

<class 'str'>
9

Giả sử chúng tôi muốn so sánh hai bộ và chúng tôi cho rằng nó cũng sẽ trả về

False
1 cho các giá trị trùng lặp. Chúng tôi có thể đạt được điều này bằng cách sử dụng phương pháp
# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")
4, phương pháp này trước tiên sẽ chuyển đổi danh sách của chúng tôi để thiết lập và xóa mọi phần tử trùng lặp. Xem ví dụ bên dưới

str1 = "Hello"
str2 = "hello"

print(str1==str2)
0

đầu ra

Quảng cáo

<class 'str'>
9

Lưu ý rằng list1 chứa các phần tử trùng lặp nhưng chúng tôi vẫn nhận được

False
1 để so sánh vì phương pháp
# strings
str1 = "My name Is Bashir alam"
str2 = "my name is bashir alam"

# if statement to compare two strings
if str1.lower() == str2.lower():
   print("they are same")
else:
   print("they are not same")
4 đã loại bỏ các giá trị trùng lặp

CŨNG ĐỌC. Các mẫu bình với Jinja2 được giải thích chi tiết

Một phương pháp khác để so sánh hai bộ chuỗi có thể là lặp qua chúng và so sánh từng phần tử và nếu chúng trả về

False
1 nếu tất cả đều giống nhau. Xem chương trình python bên dưới để so sánh danh sách các chuỗi sử dụng vòng lặp for

str1 = "Hello"
str2 = "hello"

print(str1==str2)
2

đầu ra

________số 8_______

 

Python so sánh các chuỗi theo từ điển

Chúng tôi sử dụng các toán tử so sánh để so sánh các chuỗi theo từ điển trong Python. Chúng ta đã sử dụng các toán tử bằng và không bằng để so sánh các chuỗi. Dưới đây là danh sách các toán tử so sánh được sử dụng để so sánh hai chuỗi

  • Bằng với
    True
    2. kiểm tra xem hai chuỗi có bằng nhau không
  • Không bằng
    True
    3. kiểm tra xem hai chuỗi không bằng nhau
  • Lớn hơn thì
    they are same
    0. kiểm tra xem một chuỗi có lớn hơn chuỗi khác không
  • Ít hơn
    they are same
    1. kiểm tra xem một chuỗi có nhỏ hơn chuỗi khác không

Như chúng ta đã sử dụng hai toán tử đầu tiên, trong phần này, chúng ta sẽ tập trung vào hai toán tử so sánh cuối cùng. Xem ví dụ sau so sánh hai chuỗi

str1 = "Hello"
str2 = "hello"

print(str1==str2)
4

đầu ra

str1 = "Hello"
str2 = "hello"

print(str1==str2)
5

Lưu ý rằng chữ hoa B nhỏ hơn chữ b thường vì trong bộ ASCII, giá trị số của chữ hoa B là 66 trong khi giá trị của chữ thường là 98. Trong python, tất cả các bảng chữ cái viết hoa đều có giá trị số nhỏ hơn (bắt đầu từ 65) và tất cả các bảng chữ cái viết thường có giá trị số lớn hơn (bắt đầu từ 97)

CŨNG ĐỌC. Cài đặt Gói Python từ Github [Linux và Windows]

Xem ví dụ bên dưới sử dụng ít hơn toán tử. Lần này nó sẽ trả về

False
1 cho chữ in hoa

str1 = "Hello"
str2 = "hello"

print(str1==str2)
6

đầu ra

str1 = "Hello"
str2 = "hello"

print(str1==str2)
7

Bây giờ chúng ta hãy so sánh hai danh sách chứa tập dữ liệu chuỗi. Xem ví dụ bên dưới

str1 = "Hello"
str2 = "hello"

print(str1==str2)
8

đầu ra

str1 = "Hello"
str2 = "hello"

print(str1==str2)
5

 

Tóm lược

Chuỗi là chuỗi các ký tự có thể bao gồm số, chữ cái, ký hiệu và khoảng trắng. Mọi thứ trong python được viết bên trong dấu ngoặc kép đơn, kép hoặc ba sẽ được coi là chuỗi. Chuỗi Python là một loại dữ liệu quan trọng vì chúng cho phép chúng tôi tương tác với dữ liệu dựa trên văn bản trong các chương trình của chúng tôi. Trong hướng dẫn này, chúng ta đã học về so sánh chuỗi. Chúng tôi đã đề cập đến nhiều cách khác nhau để so sánh các chuỗi trong python bằng các ví dụ và toán tử so sánh khác nhau

Chúng ta có thể so sánh hai chuỗi bằng == trong Python không?

So sánh chuỗi là quá trình so sánh hai chuỗi cho giống nhau. Đây là một quá trình quan trọng trong khoa học máy tính. So sánh chuỗi trong python có thể phân biệt chữ hoa chữ thường (sử dụng == hoặc. =) hoặc phân biệt chữ hoa chữ thường (sử dụng chữ thường () hoặc chữ trên ())

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.

== 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.