Trong hướng dẫn ngắn này, chúng ta hãy xem các phương thức so sánh chuỗi khác nhau trong python. Chúng tôi cũng xem xét các trường hợp cạnh, hạn chế và cảnh báo khác nhau
Mục lục
- So sánh chuỗi Python
- Toán tử so sánh chuỗi
- "==" và ". = "
- "là" và "không phải là"
- Hạn chế và Hãy cẩn thận
So sánh chuỗi Python
Các phương thức so sánh chuỗi Python được sử dụng để so sánh các chuỗi. Tuy nhiên, Python cũng đi kèm với một vài toán tử sẵn có tiện dụng để tạo điều kiện thuận lợi cho việc này. Tuy nhiên trước khi đi sâu vào các phương pháp, chúng ta có một khái niệm quan trọng cần được giải quyết
Dữ liệu trong chương trình của bạn được biểu diễn dưới dạng các đối tượng và đối tượng có 3 thuộc tính này. Danh tính [Id] - Danh tính chứa địa chỉ của bộ nhớ lưu trữ dữ liệu. Tiếp theo, Type là kiểu dữ liệu của đối tượng và Value là nội dung mà đối tượng lưu trữ
Python tiết kiệm bộ nhớ bằng cách sử dụng lại ID đối tượng có cùng giá trị; . . Điều này cũng giúp so sánh chuỗi python nhanh hơn và dễ dàng hơn. Ngoài ra, vui lòng thay đổi các điều khoản này vì mỗi toán tử sử dụng một thuộc tính để so sánh các đối tượng. , điều này làm cho việc so sánh chuỗi python nhanh hơn và dễ dàng hơn nhiều
Toán tử so sánh chuỗi
Trong số các phương pháp khác nhau có thể được sử dụng để so sánh các chuỗi trong python, tôi đã giải thích hai phương pháp được sử dụng phổ biến nhất bên dưới
Ghi chú. Tất cả các phương thức so sánh này trả về giá trị boolean true hoặc false
So sánh chuỗi Python sử dụng "==" và ". = "
== và. = là các phép toán quan hệ thường được sử dụng để so sánh chuỗi python. Các toán tử này so sánh các giá trị Unicode của tất cả các thành phần trong chuỗi và trả về giá trị boolean đúng hoặc sai
Các giá trị Unicode là cách lưu trữ chuỗi của python. Mỗi phần tử của một chuỗi được cung cấp một mã Unicode, điều này giúp giữ cho các phần tử thống nhất bất kể ngôn ngữ mà lập trình viên sử dụng. Bạn có thể đọc thêm về điều này ở đây
Vì vậy, các toán tử quan hệ này so sánh các chuỗi dựa trên các giá trị Unicode của chúng
Sử dụng "=="
"==" là phương pháp so sánh chuỗi python để kiểm tra xem cả hai giá trị của toán hạng có bằng nhau không. Toán tử này là phương pháp được sử dụng phổ biến nhất để kiểm tra đẳng thức trong python
s1 = 'flexiple!'
print[id[s1]]
#Output = 2621679855024
s2 = 'flexiple!'
print[id[s2]]
#Output = 2621679855024
s3 = 'flexiple'
print[id[31]]
#Output = 140735453670112
print[s1==s2]
#output = True
print[s2==s3]
#output = False
Toán tử trả về True và False tương ứng. Cũng lưu ý cách Id của s1 và s2 giống hệt nhau
Tuy nhiên, hãy nhớ rằng hàm Id sẽ trả về một số khác dựa trên trình biên dịch của bạn
Sử dụng ". = "
Các. = là một toán tử so sánh chuỗi python khác để kiểm tra xem các giá trị của toán hạng có bằng nhau không. Nó thực hiện ngược lại với toán tử ==. Đoạn mã dưới đây là việc thực hiện cùng
s1 = 'flexiple!'
s2 = 'flexiple!'
s3 = 'flexiple'
print[s1!=s2]
#Output = False
print[s2!=s3]
#Output = True
So sánh chuỗi Python sử dụng "is" và "not is"
Các toán tử is và not is khá giống với == và. = tương ứng. Tuy nhiên, không giống như các toán tử quan hệ, is và not so sánh với Danh tính [id] của các đối tượng và trả về true nếu chúng có cùng danh tính
Người ta có thể lập luận rằng danh tính của đối tượng vẫn giữ nguyên, nhưng đây không phải là trường hợp khi làm việc với bất biến. Khi đối tượng được cung cấp một giá trị khác, bộ nhớ sẽ phân bổ các thay đổi để tạo cho nó một danh tính mới
Các chuỗi trong Python được so sánh với các toán tử ==
và
What is the capital of Delaware Dover You are correct!0. Chúng so sánh nếu hai chuỗi Python tương đương hoặc không tương đương. Họ trả lại
What is the capital of Delaware Dover You are correct!1 hoặc
What is the capital of Delaware Dover You are correct!2
Thông thường, khi làm việc với các chuỗi trong Python, bạn có thể muốn so sánh chúng với nhau. Ví dụ: bạn có thể muốn so sánh địa chỉ email của người dùng với địa chỉ bạn đã lưu trữ trong cơ sở dữ liệu khi bạn yêu cầu họ đặt lại mật khẩu
Tìm trận đấu Bootcamp của bạn
- Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
- Truy cập học bổng độc quyền và các khóa học chuẩn bị
Tên đầu tiên
Họ
Số điện thoại
Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email
Python bao gồm một số toán tử so sánh có thể được sử dụng để so sánh các chuỗi. Các toán tử này cho phép bạn kiểm tra xem các chuỗi so sánh với nhau như thế nào và trả về giá trị Đúng hoặc Sai dựa trên kết quả
Hướng dẫn này sẽ thảo luận về các toán tử so sánh có sẵn để so sánh các chuỗi trong Python. Chúng ta sẽ xem qua một ví dụ về từng toán tử này để cho biết cách chúng hoạt động và cách bạn có thể sử dụng chúng trong mã của mình. Nếu bạn đang muốn tìm hiểu cách so sánh các chuỗi trong Python, thì bài viết này là dành cho bạn
Chuỗi Python là và không bằng
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. Chuỗi là một loại dữ liệu quan trọng vì chúng cho phép các lập trình viên tương tác với dữ liệu dựa trên văn bản trong chương trình của họ
Khi bạn đang làm việc với một chuỗi, bạn có thể muốn xem liệu một chuỗi có bằng hoặc không bằng một chuỗi khác. Đó là nơi mà các toán tử so sánh chuỗi
What is the capital of Delaware Dover You are correct!3 và
What is the capital of Delaware Dover You are correct!4 xuất hiện
Toán tử đẳng thức
What is the capital of Delaware Dover You are correct!3 trả về True nếu hai giá trị khớp nhau; . Toán tử
What is the capital of Delaware Dover You are correct!4 trả về True nếu hai giá trị không khớp và Sai nếu hai giá trị khớp
Điều quan trọng cần lưu ý là so sánh chuỗi có phân biệt chữ hoa chữ thường. Vì vậy, chữ thường và chữ hoa sẽ ảnh hưởng đến kết quả so sánh mà bạn thực hiện trong chương trình Python của mình
Giả sử bạn đang xây dựng một trò chơi kiểm tra kiến thức của người chơi về thủ phủ của các bang. Để kiếm được điểm, người chơi phải trả lời đúng một câu hỏi. Vì vậy, một người chơi có thể được cấp bang California và để đạt được điểm, họ cần nhập thủ đô là Sacramento vào chương trình
» THÊM. Đối số tùy chọn của Python. Hướng dẫn cách thực hiện
Dưới đây là một ví dụ về ứng dụng trò chơi đoán so sánh câu trả lời của người dùng với câu trả lời được chương trình lưu trữ
random_state = "Delaware" message = "What is the capital of ", random_state user_answer = input[message] state_capital = "Dover" if user_answer == state_capital: print["You are correct!"] else: print["The capital of ", random_state, "is", state_capital]
Đây là điều xảy ra khi chúng ta chạy trò chơi đoán và đoán đúng thủ phủ của bang Delaware là Dover
What is the capital of Delaware Dover You are correct!
Các chuỗi của chúng ta bằng nhau, vì vậy hàm
What is the capital of Delaware Dover You are correct!7 của chúng ta sẽ đánh giá để sửa và in ra
What is the capital of Delaware Dover You are correct!8. Nếu chúng ta đoán sai thủ phủ của bang là Denver, mã của chúng ta sẽ trả về
What is the capital of Delaware Denver The capital of Delaware of Dover
Hãy chia nhỏ mã của chúng tôi. Ở cái đầu tiên, chúng tôi khai báo trạng thái ngẫu nhiên của mình, trong trường hợp này là Delaware. Sau đó, chúng tôi sử dụng phương pháp người dùng
What is the capital of Delaware Dover You are correct!9 để hỏi người dùng
What is the capital of Delaware Denver The capital of Delaware of Dover0
Sau đó, chương trình của chúng tôi tuyên bố thủ phủ của tiểu bang là Dover và sử dụng câu lệnh
What is the capital of Delaware Denver The capital of Delaware of Dover1 để so sánh xem vốn tiểu bang mà chương trình đã lưu trữ có bằng với những gì người dùng đã nhập hay không.
Khi chúng tôi nhập
What is the capital of Delaware Denver The capital of Delaware of Dover2, câu lệnh if được đánh giá là Đúng, vì vậy chương trình của chúng tôi đã in thông báo
What is the capital of Delaware Dover You are correct!8 ra bảng điều khiển. Khi chúng tôi nhập
What is the capital of Delaware Denver The capital of Delaware of Dover4, câu lệnh của chúng tôi được đánh giá là Sai, vì vậy chương trình của chúng tôi đã thực thi mã trong câu lệnh in
What is the capital of Delaware Denver The capital of Delaware of Dover5
Python là Toán tử
Phương pháp phổ biến nhất được sử dụng để so sánh các chuỗi là sử dụng toán tử
What is the capital of Delaware Dover You are correct!3 và
What is the capital of Delaware Dover You are correct!4, so sánh các biến dựa trên giá trị của chúng. Tuy nhiên, nếu bạn muốn so sánh xem hai phiên bản đối tượng có giống nhau hay không dựa trên ID đối tượng của chúng, thay vào đó, bạn có thể muốn sử dụng
What is the capital of Delaware Denver The capital of Delaware of Dover8 và
What is the capital of Delaware Denver The capital of Delaware of Dover9
Sự khác biệt giữa
What is the capital of Delaware Dover You are correct!3 và
What is the capital of Delaware Denver The capital of Delaware of Dover8 [và
What is the capital of Delaware Dover You are correct!4 và
What is the capital of Delaware Denver The capital of Delaware of Dover9] là toán tử so sánh
What is the capital of Delaware Dover You are correct!3 so sánh hai biến dựa trên giá trị thực của chúng và từ khóa
What is the capital of Delaware Denver The capital of Delaware of Dover8 so sánh hai biến dựa trên id đối tượng của chúng
» THÊM. Các bài tập và câu đố hay nhất giúp bạn học Python
Hãy sử dụng một ví dụ. Giả sử rằng chúng tôi có điểm của hai người dùng được lưu trữ dưới dạng một chuỗi và chúng tôi muốn xem liệu họ có giống nhau hay không. Chúng tôi có thể làm như vậy bằng cách sử dụng đoạn mã sau
player_one_score = "100" player_two_score = "100" if player_one_score is player_two_score: print["Player #1 and #2 have the same number of points."] else: print["Player #1 and #2 do not have the same number of points."]
mã của chúng tôi trả về
Player #1 and #2 have the same number of points.
Trong đoạn mã trên, chúng ta cũng có thể sử dụng toán tử
What is the capital of Delaware Dover You are correct!3. Tuy nhiên, chúng tôi đã sử dụng toán tử
What is the capital of Delaware Denver The capital of Delaware of Dover8 thay vì nó sử dụng ít bộ nhớ hơn và chúng tôi chỉ cần so sánh hai đối tượng
Câu lệnh
player_one_score = "100" player_two_score = "100" if player_one_score is player_two_score: print["Player #1 and #2 have the same number of points."] else: print["Player #1 and #2 do not have the same number of points."]8 được đánh giá là Đúng trong chương trình của chúng tôi vì cả hai biến
player_one_score = "100" player_two_score = "100" if player_one_score is player_two_score: print["Player #1 and #2 have the same number of points."] else: print["Player #1 and #2 do not have the same number of points."]9 và
Player #1 and #2 have the same number of points.0 có cùng ID đối tượng. Chúng tôi có thể kiểm tra các ID này bằng cách sử dụng từ khóa
Player #1 and #2 have the same number of points.1
print[id[player_one_score]] print[id[player_two_score]]
mã của chúng tôi trả về
140239618130992 140239618130992
Như bạn có thể thấy, các đối tượng của chúng ta đều giống nhau, và do đó toán tử
What is the capital of Delaware Denver The capital of Delaware of Dover8 được đánh giá là True. Nói chung, bạn nên sử dụng
What is the capital of Delaware Dover You are correct!3 khi so sánh các loại dữ liệu bất biến như chuỗi và số và khi so sánh các đối tượng
Toán tử so sánh khác của Python
Ngoài ra, bạn có thể so sánh các chuỗi theo thứ tự từ điển bằng Python. Thứ tự từ điển đề cập đến việc sắp xếp các chữ cái dựa trên thứ tự bảng chữ cái của các chữ cái thành phần của chúng. Để làm như vậy, chúng ta có thể sử dụng các toán tử so sánh khác do Python cung cấp. Đây là như sau
Player #1 and #2 have the same number of points.
4 – Nhỏ hơnPlayer #1 and #2 have the same number of points.
5 – Lớn hơnPlayer #1 and #2 have the same number of points.
6 – Nhỏ hơn hoặc bằngPlayer #1 and #2 have the same number of points.
7 – Lớn hơn hoặc bằng
Giả sử chúng ta đang tạo một chương trình nhận hai tên sinh viên và trả về một thông báo có tên đứng đầu trong bảng chữ cái
Chúng ta có thể sử dụng đoạn mã sau để hoàn thành nhiệm vụ này
student_one = "Penny" student_two = "Paul" if student_one > student_two: print["Penny comes before Paul in the alphabet."] elif student_one < student_two: print["Paul comes before Penny in the alphabet."]
mã của chúng tôi trả về
"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "
Venus, Kỹ sư phần mềm tại Rockbot
Find Your Bootcamp MatchPaul comes before Penny in the alphabet.
Hãy chia nhỏ mã của chúng tôi. Trên hai dòng đầu tiên, chúng tôi khai báo hai biến lưu trữ tên sinh viên của chúng tôi. Trong trường hợp này, những tên này là Penny và Paul
» THÊM. Python sắp xếp lựa chọn. Hướng dẫn
Sau đó, chúng tôi tạo một câu lệnh if sử dụng toán tử
Player #1 and #2 have the same number of points.8 để xác định xem tên của Penny có đứng trước tên của Paul theo thứ tự từ điển hay không. Nếu điều này được đánh giá là Đúng, một thông báo sẽ được in ra bảng điều khiển cho chúng tôi biết rằng Penny đứng trước Paul trong bảng chữ cái
Chúng tôi cũng tạo một câu lệnh
Player #1 and #2 have the same number of points.9 sử dụng toán tử
print[id[player_one_score]] print[id[player_two_score]]0 để xác định xem tên của Penny có xuất hiện trước tên của Paul trong bảng chữ cái hay không. Nếu điều này được đánh giá là Đúng, một thông báo sẽ được in ra bảng điều khiển cho người dùng biết rằng Paul đứng trước Penny trong bảng chữ cái
Trong trường hợp này, tên của Paul xuất hiện trước tên của Penny trong bảng chữ cái, vì vậy mã trong khối
Player #1 and #2 have the same number of points.9 của chúng tôi được đánh giá là đúng và thông báo
print[id[player_one_score]] print[id[player_two_score]]2. được in ra bàn điều khiển
Phần kết luận
So sánh hai chuỗi là một tính năng quan trọng của Python. Chẳng hạn, bạn có thể đang tạo một biểu mẫu đăng nhập cần so sánh mật khẩu mà người dùng đã nhập với mật khẩu họ đã đặt cho tài khoản của mình
Các toán tử so sánh Python có thể được sử dụng để so sánh các chuỗi trong Python. Các toán tử này là. bằng [_______2_______3], không bằng [
What is the capital of Delaware Dover You are correct!4], lớn hơn [
Player #1 and #2 have the same number of points.5], nhỏ hơn [
Player #1 and #2 have the same number of points.4], nhỏ hơn hoặc bằng [
Player #1 and #2 have the same number of points.6] và lớn hơn hoặc bằng [
Player #1 and #2 have the same number of points.7]. Hướng dẫn này khám phá cách sử dụng các toán tử này để so sánh các chuỗi và xem qua một số ví dụ về so sánh chuỗi trong Python
Bây giờ bạn đã sẵn sàng bắt đầu so sánh các chuỗi trong Python như một chuyên gia
Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK