Làm thế nào để bạn so sánh hai chuỗi trong điều kiện if python?
Trong Python, chuỗi là chuỗi ký tự, được lưu trữ hiệu quả trong bộ nhớ dưới dạng đối tượng. Mỗi đối tượng có thể được xác định bằng phương pháp Show
Để so sánh các chuỗi, Python cung cấp một số toán tử khác nhau để thực hiện việc này. Đầu tiên, chúng tôi sẽ giải thích chúng chi tiết hơn dưới đây. Thứ hai, chúng ta sẽ xem xét cả hai mô-đun 0, chứa các phương thức để xử lý các trường hợp không phân biệt chữ hoa chữ thường và không chính xác. Thứ ba, để xử lý các chuỗi nhiều dòng, mô-đun difflib khá tiện dụng. Một số ví dụ sẽ giúp bạn hiểu cách sử dụng chúngSo sánh Chuỗi với == và. = Toán tửLà một toán tử so sánh cơ bản, bạn sẽ muốn sử dụng 1 và 2. Chúng hoạt động theo cách chính xác giống như với các giá trị số nguyên và số float. Toán tử 1 trả về 4 nếu khớp chính xác, ngược lại sẽ trả về 5. Ngược lại, toán tử 2 trả về 4 nếu không khớp và ngược lại trả về 5. Liệt kê 1 chứng minh điều nàyTrong một vòng lặp 9, một chuỗi chứa tên của thành phố Thụy Sĩ "Lausanne" được so sánh với một mục từ danh sách các địa điểm khác và kết quả so sánh được in trên thiết bị xuất chuẩnLiệt kê 1 Chạy tập lệnh Python từ phía trên, đầu ra như sau
Toán tử $ python3 comparing-strings.py comparing Berlin with Lausanne: False comparing Paris with Lausanne: False comparing Lausanne with Lausanne: True 1 và >>> a = 'hello' >>> b = 'hello' >>> c = 'world' >>> a is b True >>> a is c False >>> id(a) 140666888153840 >>> id(b) 140666888153840 >>> 1Python có hai toán tử so sánh là 1 và 1. Thoạt nhìn chúng có vẻ giống nhau, nhưng thực ra không phải vậy1 so sánh hai biến dựa trên giá trị mà chúng đại diện. Ngược lại, toán tử John (Doe) và John (Moe) đều được gọi là John. Nếu chúng ta có thể rút gọn họ chỉ bằng tên của họ, họ sẽ có giá trị ngang nhau, nhưng vẫn là hai người khác nhau về chất Ví dụ tiếp theo chứng minh rằng đối với ba biến có giá trị chuỗi. Hai biến 6 và 7 có cùng giá trị và Python đề cập đến cùng một đối tượng để giảm thiểu việc sử dụng bộ nhớĐiều này được thực hiện cho các loại và chuỗi đơn giản theo mặc định, nhưng không phải cho các đối tượng khác
Ngay khi giá trị thay đổi, Python sẽ khởi tạo lại đối tượng và gán biến. Trong đoạn mã tiếp theo, 7 nhận giá trị là 2 và sau đó, 7 và 0 đề cập đến cùng một đối tượng
Các toán tử so sánh khácĐể so sánh về thứ tự từ điển, bạn có thể sử dụng các toán tử so sánh 1, 2, 3 và 4. Bản thân việc so sánh được thực hiện theo từng ký tự. Thứ tự phụ thuộc vào thứ tự của các ký tự trong bảng chữ cái. Thứ tự này phụ thuộc vào bảng ký tự được sử dụng trên máy của bạn khi thực thi mã PythonHãy ghi nhớ thứ tự phân biệt chữ hoa chữ thường. Như một ví dụ cho bảng chữ cái Latinh, "Bus" đứng trước "bus". Liệt kê 2 cho thấy cách các toán tử so sánh này hoạt động trong thực tế Liệt kê 2 Chạy tập lệnh Python từ phía trên, đầu ra như sau
So sánh chuỗi không phân biệt chữ hoa chữ thườngCác ví dụ trước tập trung vào kết hợp chính xác giữa các chuỗi. Để cho phép so sánh không phân biệt chữ hoa chữ thường, Python cung cấp các phương thức chuỗi đặc biệt như 5 và 6. Cả hai đều có sẵn trực tiếp dưới dạng phương thức của đối tượng chuỗi theo 5 lần lượt chuyển đổi toàn bộ chuỗi thành chữ hoa và 6 thành chữ thường. Dựa trên Liệt kê 1, danh sách tiếp theo cho biết cách sử dụng phương pháp 6Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Liệt kê 3 Đầu ra như sau
So sánh chuỗi sử dụng biểu thức chính quy (RegEx)Biểu thức chính quy - hay viết tắt là "regex" - xác định một mẫu ký tự cụ thể Để sử dụng cơ chế này trong Python, trước tiên hãy nhập mô-đun 0 và xác định một mẫu cụ thể, tiếp theo. Một lần nữa, ví dụ sau dựa trên Liệt kê 1. Mẫu tìm kiếm khớp với "bay" và bắt đầu bằng chữ thường hoặc chữ hoa. Chính xác, mã Python sau tìm thấy tất cả các chuỗi trong đó mẫu tìm kiếm xảy ra bất kể ở vị trí nào của chuỗi - ở đầu, ở giữa hoặc ở cuốiLiệt kê 4 Đầu ra như sau và khớp với "Bayswater", "Table Bay" và "Bombay" từ danh sách các địa điểm
So sánh nhiều dòng và danh sáchCho đến nay những so sánh của chúng ta chỉ dừng lại ở một vài từ. Sử dụng mô-đun 1 Python cũng cung cấp một cách để so sánh các chuỗi nhiều dòng và toàn bộ danh sách từ. Đầu ra có thể được cấu hình theo các định dạng khác nhau của các công cụ tìm khác biệtVí dụ tiếp theo (Liệt kê 5) so sánh hai chuỗi nhiều dòng theo từng dòng và hiển thị các phần xóa cũng như phần bổ sung. Sau khi khởi tạo đối tượng 2 ở dòng 12, việc so sánh được thực hiện bằng cách sử dụng phương thức 3 ở dòng 15. Kết quả được in trên đầu ra tiêu chuẩnChạy tập lệnh tạo đầu ra như bên dưới. Các dòng bị xóa được biểu thị bằng ký hiệu 4 trong khi các dòng có bổ sung bắt đầu bằng ký hiệu 5. Hơn nữa, các dòng có thay đổi bắt đầu bằng dấu chấm hỏi. Các thay đổi được biểu thị bằng cách sử dụng biển báo 6 tại vị trí tương ứng. Các dòng không có chỉ báo vẫn giống nhau
Phần kết luậnTrong bài viết này, bạn đã học được nhiều cách khác nhau để so sánh các chuỗi trong Python. Chúng tôi hy vọng rằng phần tổng quan này sẽ giúp bạn lập trình hiệu quả trong cuộc sống lập trình viên của mình 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.
Bạn có thể sử dụng toán tử == với chuỗi không?“==” trả về Boolean True nếu hai chuỗi giống nhau và trả về Boolean False nếu hai chuỗi không giống nhau. “. = ” toán tử trả về Boolean True nếu hai chuỗi không giống nhau và trả về Boolean False nếu hai chuỗi giống nhau.
Có thể sử dụng hàm IF để so sánh các chuỗi không?Các chuỗi str1 và str2 sẽ được so sánh bằng chức năng này. Nếu hàm trả về giá trị 0, điều đó có nghĩa là các chuỗi bằng nhau, ngược lại, các chuỗi không bằng nhau |