So sánh hai chuỗi trong Python
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 Show
Mục lục
So sánh chuỗi PythonCá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ỗiTrong 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
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
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ử 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
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ằngChuỗ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 PythonNgoà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
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ậnSo 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 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ử đẳ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.
Có thể sử dụng == cho chuỗi không?Trong Chuỗi, toán tử == được sử dụng để so sánh tham chiếu của các chuỗi đã cho, tùy thuộc vào việc chúng có đang tham chiếu đến cùng một đối tượng hay không. When you compare two strings using == operator, it will return true if the string variables are pointing toward the same java object. Otherwise, it will return false . |