Làm cách nào để kiểm tra xem một từ có chứa một chữ cái trong python không?
Một trong những hoạt động phổ biến nhất mà các lập trình viên sử dụng trên chuỗi là kiểm tra xem một chuỗi có chứa một số chuỗi khác không Show
Ví dụ: nếu bạn đến với Python từ Java, bạn có thể đã sử dụng phương thức chứa để kiểm tra xem một số chuỗi con có tồn tại trong một chuỗi khác không Trong Python, có hai cách để đạt được điều này Ngày thứ nhất. Sử dụng toán tử inCách dễ nhất là thông qua toán tử in của Python. Hãy xem ví dụ này
Như bạn có thể thấy, toán tử in trả về True khi chuỗi con tồn tại trong chuỗi Nếu không, nó trả về false Phương pháp này rất đơn giản, rõ ràng, dễ đọc và thành ngữ Thứ hai. Sử dụng phương pháp tìmMột phương thức khác mà bạn có thể sử dụng là phương thức find của chuỗi Không giống như toán tử in được ước tính thành giá trị boolean, phương thức find trả về một số nguyên. Số nguyên này về cơ bản là chỉ số của phần đầu của chuỗi con nếu chuỗi con tồn tại, nếu không thì -1 được trả về Hãy xem hoạt động của phương thức find .
Một điều thú vị về phương pháp này là bạn có thể tùy chọn chỉ định chỉ mục bắt đầu và chỉ mục kết thúc để giới hạn tìm kiếm của mình trong phạm vi Ví dụ
Lưu ý cách -1 được trả về cho “Messi” vì bạn đang giới hạn tìm kiếm của mình trong chuỗi chỉ giữa các chỉ số 5 và 25. Bảng cheat Python 3 cho người mới bắt đầuTải xuống một bảng cheat toàn diện dành cho người mới bắt đầu với các ví dụ mã mở rộng bao gồm tất cả các chủ đề mà bạn cần tìm hiểu Một số nội dung nâng caoGiả sử trong một giây rằng Python không có các hàm hoặc phương thức tích hợp sẵn để kiểm tra xem một chuỗi có chứa một chuỗi khác không Làm thế nào bạn sẽ viết một chức năng để làm điều đó? Chà, một cách dễ dàng là dùng vũ lực bằng cách kiểm tra xem chuỗi con có tồn tại bắt đầu từ mọi vị trí có thể có trong chuỗi gốc hay không Đối với các chuỗi lớn hơn, quá trình này có thể rất chậm Có các thuật toán tốt hơn để tìm kiếm chuỗi Tôi đánh giá cao bài viết này từ TopCoder nếu bạn muốn tìm hiểu thêm và tìm hiểu sâu hơn về các thuật toán tìm kiếm chuỗi Để biết thêm thông tin về các thuật toán tìm kiếm chuỗi khác không được đề cập trong bài viết trước, trang wikipedia này rất hay Nếu bạn xem qua các bài viết trước và nghiên cứu chúng, câu hỏi tiếp theo của bạn sẽ là “Python thực sự sử dụng thuật toán nào?” Một cách dễ dàng để kiểm tra xem một chuỗi có chứa một cụm từ cụ thể hay không bằng cách sử dụng câu lệnh 6. Chúng ta có thể làm điều này như sau
Ngoài
Hôm nay chúng ta sẽ xem xét các tùy chọn khác nhau mà bạn có để kiểm tra xem một chuỗi có chứa chuỗi con hay không. Chúng ta sẽ bắt đầu bằng cách khám phá việc sử dụng các câu lệnh 6, tiếp theo là sử dụng hàm 8. Cuối cùng, cũng có một phần về cách sử dụng biểu thức chính quy (regex) với 9 để tìm kiếm chuỗilựa chọn 1. nếu. TrongVí dụ trên đã minh họa một cách nhanh chóng để tìm một chuỗi con trong một chuỗi khác bằng cách sử dụng câu lệnh 6. Câu lệnh sẽ trả về 01 nếu chuỗi chứa những gì chúng tôi đang tìm kiếm và 02 nếu không. Xem bên dưới để biết phần mở rộng của ví dụ được sử dụng trước đây 0Ngoài 3Kết quả hiển thị rằng câu lệnh 6 của chúng tôi đang tìm kiếm 04 chỉ trả về 01 cho mục đầu tiên trong 06, điều này đúngĐiều đáng nói là các câu lệnh 6 phân biệt chữ hoa chữ thường. Dòng 08 sẽ không phát hiện ra 09. Một cách để sửa lỗi này là sử dụng phương thức 30, phương thức này chuyển đổi tất cả các ký tự chuỗi thành chữ thườngChúng ta có thể sử dụng phương pháp 30 với sự thay đổi bên dưới 3Ngoài 4Ngoài ra, chúng ta có thể sử dụng hàm 32 để tìm kiếm 33 thay thếCách tiếp cận 34 có hiệu suất nhanh nhất trong hầu hết các trường hợp. Nó cũng có khả năng đọc tuyệt vời, giúp các nhà phát triển khác dễ dàng hiểu tập lệnh làm gìTrong số ba tùy chọn được liệt kê trong bài viết này, sử dụng 6 thường là cách tiếp cận tốt nhất để xem liệu một chuỗi có chứa chuỗi con hay không. Hãy nhớ rằng giải pháp đơn giản nhất thường là giải pháp tốt nhấtLựa chọn 2. tìm thấy()Một tùy chọn khác mà bạn có để tìm kiếm một chuỗi là sử dụng phương thức 8. Nếu đối số chúng tôi cung cấp 8 tồn tại trong một chuỗi, thì hàm sẽ trả về chỉ mục vị trí bắt đầu của chuỗi con mà chúng tôi đang tìm kiếm. Nếu không, hàm sẽ trả về -1. Hình ảnh bên dưới cho thấy cách các ký tự chuỗi được gán chỉ mụcChúng ta có thể áp dụng 8 cho ví dụ đầu tiên của 6 như sau 3Ngoài 4Đối với mục danh sách đầu tiên, 04 bắt đầu ở chỉ mục 16, vì vậy, 31 trả về 16. 04 không có trong chuỗi cho hai mục còn lại, vì vậy, 31 trả về -1Hàm 34 có thể được sử dụng tương tự và cũng sẽ trả về chỉ số bắt đầu của đối số của nó. Nhược điểm của việc sử dụng 34 là nó sẽ ném ra 36 nếu Python không thể tìm thấy đối số. Các hàm 8 và 34 cũng phân biệt chữ hoa chữ thườngTùy chọn 3. Tìm kiếm chính quy()Regex là viết tắt của biểu thức chính quy, giống như ngôn ngữ lập trình của chính nó. Thông qua 39, tìm kiếm biểu thức chính quy, chúng tôi có thể xác định xem một chuỗi có khớp với mẫu không. Hàm 9 tạo đối tượng 41 nếu mẫu phù hợpĐây là một ví dụ 7Ngoài 8Nhìn vào đối tượng 41, 43 cho chúng ta chỉ số bắt đầu và kết thúc của 04. Cắt chuỗi bằng cách sử dụng 45 trả về chuỗi con 04. Trường 47 hiển thị cho chúng tôi một phần của chuỗi trùng khớp, điều này có thể hữu ích khi tìm kiếm một loạt các chuỗi con có thể đáp ứng các điều kiện tìm kiếmChúng ta có thể truy cập các thuộc tính 43 và 47 bằng cách sử dụng các phương thức 30 và 31, như sau 0Ngoài 1Nếu chuỗi con không khớp, chúng tôi nhận giá trị null 32 thay vì nhận đối tượng 41. Xem ví dụ bên dưới để biết cách chúng tôi có thể áp dụng regex cho vấn đề 34 mà chúng tôi đang sử dụng 2Ngoài 3Trong trường hợp này, câu lệnh if xác định xem 9 có trả về bất kỳ thứ gì khác ngoài 32 hay khôngChúng tôi có thể lập luận rằng regex có thể là quá mức cần thiết cho một chức năng đơn giản như thế này. Nhưng một cái gì đó giống như ví dụ trên là điểm khởi đầu tuyệt vời cho biểu thức chính quy, có nhiều khả năng khác Chẳng hạn, chúng ta có thể thay đổi đối số đầu tiên của hàm 37 thành 38, trong đó 39 là toán tử logic "HOẶC". Trong ngữ cảnh này, 9 sẽ trả về một đối tượng khớp cho bất kỳ chuỗi nào có chuỗi con 04 hoặc 42Sau đây minh họa một ví dụ về điều này 4Ngoài 5Bản tóm tắtCách dễ nhất và hiệu quả nhất để xem liệu một chuỗi có chứa chuỗi con hay không là sử dụng câu lệnh 6, trả về 01 nếu chuỗi con được phát hiện. Ngoài ra, bằng cách sử dụng hàm 8, có thể lấy chỉ mục mà chuỗi con bắt đầu tại đó hoặc -1 nếu Python không thể tìm thấy chuỗi con. REGEX cũng là một tùy chọn, với 9 tạo đối tượng 41 nếu Python tìm thấy đối số đầu tiên trong đối số thứ haiBắt đầu học miễn phí Nhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Bài viết gần đâyƯu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo (AI) tốt nhất năm 2022Các khóa học Python tốt nhất theo phân tích dữ liệu Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này xem bài viếtNhận thông tin cập nhật trong hộp thư đến của bạnTham gia cùng hơn 7.500 người học khoa học dữ liệu Gặp gỡ các tác giảNhà khoa học dữ liệu Alfie Grace Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn |