Phương thức find () trong Python định vị vị trí chỉ mục mà tại đó phiên bản đầu tiên của một chuỗi xảy ra trong một chuỗi khác. find () trả về -1 nếu không tìm thấy giá trị. Nếu không, nó trả về vị trí chỉ mục bắt đầu của giá trị mà bạn đang tìm kiếm.
Tìm một chuỗi con trong một chuỗi là một hoạt động phổ biến trong Python. Ví dụ:giả sử bạn có một chuỗi chứa danh sách các tên sách yêu thích của bạn. Bạn có thể muốn tìm một cuốn sách nhất định trong danh sách đó và trả lại vị trí mà cuốn sách đó xuất hiện trong danh sách.
Đó là nơi chuỗi Python find () có trong phương thức. find () cho phép bạn tìm kiếm một chuỗi con trong Python. Phương thức này trả về vị trí chỉ mục của lần xuất hiện đầu tiên của chuỗi con đó trong chuỗi.
Hướng dẫn này sẽ thảo luận, với các ví dụ, những điều cơ bản về lập chỉ mục chuỗi trong Python. Sau đó, chúng tôi sẽ sử dụng Python find () để tìm một chuỗi con trong một chuỗi lớn hơn.
Lập chỉ mục Python:Trình làm mới
Chuỗi Python là một chuỗi chứa một hoặc nhiều ký tự riêng lẻ. Chuỗi có thể chứa các chữ cái, khoảng trắng, ký hiệu hoặc số.
Hãy xem xét chuỗi sau:
company = "Career Karma"
Chuỗi này bao gồm 12 ký tự, mỗi ký tự có vị trí riêng trong chuỗi. Đây là bảng phân tích chỉ mục cho chuỗi này:
C | a | r | e | e | r | | K | a | r | m | a |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Phương thức find () trong Python
Phương thức find () trong Python tìm lần đầu tiên một chuỗi cụ thể xuất hiện trong một chuỗi khác. Nếu không tìm thấy giá trị, phương thức find () trả về -1. find () rất giống với phương thức index () trong Python nhưng index () tạo ra một ngoại lệ nếu không tìm thấy giá trị.
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
Cú pháp cho find () như sau:
string_name.find(string_to_find, start, end)
find () phương thức chấp nhận ba tham số:
- string_to_find :Chuỗi con có giá trị chỉ mục bắt đầu mà bạn muốn tìm trong một chuỗi. (Bắt buộc)
- bắt đầu :Vị trí chỉ mục mà tại đó tìm kiếm sẽ bắt đầu. Giá trị mặc định cho thông số này là 0. (Tùy chọn)
- kết thúc :Vị trí chỉ mục mà tại đó tìm kiếm sẽ kết thúc. (Tùy chọn)
find () phương thức trả về chỉ số thấp nhất mà tại đó sự xuất hiện đầu tiên của một chuỗi bắt đầu. Nếu không tìm thấy chuỗi con mà bạn đang tìm kiếm trong một chuỗi, giá trị -1 sẽ được trả về.
Bạn có thể sử dụng câu lệnh if trong Python để đánh giá liệu -1 có được trả về hay không. Điều này sẽ cho phép bạn xử lý mọi vấn đề phát sinh nếu không tìm thấy giá trị mà bạn đang tìm kiếm.
Bây giờ chúng ta biết cú pháp cho find () , hãy khám phá một ví dụ cho thấy phương pháp này đang được sử dụng.
Tìm ví dụ trong Python
Python find () Ví dụ:Tìm một chuỗi
Giả sử chúng ta có một chuỗi chứa danh sách các hương vị kem bán chạy nhất tại một cửa hàng kem địa phương.
Chuỗi này xuất hiện như sau:
flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry"
Dữ liệu của chúng tôi được định dạng dưới dạng một chuỗi (được biểu thị bằng dấu ngoặc kép).
Giả sử chúng ta muốn tìm vị trí mục nhập “Cookies and Cream” xuất hiện trong chuỗi của chúng ta. Chúng tôi muốn tìm hiểu thêm về mức độ phổ biến của bánh quy và hương vị kem. Để làm như vậy, chúng tôi có thể sử dụng find () chức năng cài sẵn. Đây là mã chúng tôi sẽ sử dụng để tìm mục nhập này trong chuỗi của chúng tôi:
flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry" cookies_and_cream = flavors.find("Cookies and Cream") print(cookies_and_cream)
Mã của chúng tôi trả về:25.
Đầu tiên, chúng tôi khai báo một biến Python có tên là “flavour”. Biến này lưu trữ danh sách các hương vị phổ biến nhất được bán tại một cửa hàng kem địa phương.
Tiếp theo, chúng tôi sử dụng find () để tìm cụm từ “Cookies and Cream” trong danh sách của chúng tôi và chỉ định giá trị được trả về bởi find () phương thức cho biến “cookies_and_cream.”
Mã của chúng tôi trả về giá trị 25, có nghĩa là “Cookies và Cream” bắt đầu ở vị trí chỉ mục 25 trong danh sách của chúng tôi.
Python find () Ví dụ:Bắt đầu tìm kiếm tại một chỉ mục cụ thể
Bây giờ, giả sử chúng ta muốn kiểm tra xem “Choc Chip” có xuất hiện sau “Cookies and Cream” trong danh sách của chúng ta hay không. Chúng tôi biết rằng "Cookies and Cream" bắt đầu ở vị trí chỉ mục 25, vì vậy chúng tôi muốn tìm kiếm "Choc Chip" sau vị trí chỉ mục đó.
Chúng tôi có thể làm như vậy bằng cách sử dụng mã sau:
flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry" choc_chip = flavors.find("Choc Chip", 25) print(choc_chip)
Mã của chúng tôi trả về:55. Chúng tôi sử dụng find () để tìm "Choc Chip" trong chuỗi "hương vị" của chúng tôi. Chúng tôi chỉ định một tham số, 25, cho biết nơi tìm kiếm của chúng tôi sẽ bắt đầu trong chuỗi.
Vì "Choc Chip" xuất hiện sau "Cookies and Cream", một giá trị dương đã được trả về. Giá trị này là vị trí chỉ mục nơi "Choc Chip" xuất hiện trong danh sách.
Python find () Ví dụ:Tìm kiếm giữa một phạm vi cụ thể
Bây giờ, giả sử chúng ta muốn tìm kiếm liệu “Buttered Pecan” có xuất hiện trước “Cookies and Cream” hay không. Chúng tôi biết rằng “Cookies and Cream” bắt đầu ở vị trí chỉ mục 25, vì vậy chúng tôi không muốn tìm kiếm “Buttered Pecan” sau thời điểm đó. Để thực hiện tìm kiếm này, chúng tôi có thể sử dụng mã sau:
flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry" buttered_pecan = flavors.find("Buttered Pecan", 0, 25) print(buttered_pecan)
Mã của chúng tôi trả về:9. Trong ví dụ này, chúng tôi đã sử dụng find () để tìm “Buttered Pecan” trong chuỗi của chúng tôi. Chúng tôi đã chỉ định 0 là vị trí mà tại đó tìm kiếm của chúng tôi sẽ bắt đầu và 25 là vị trí mà tại đó tìm kiếm của chúng tôi sẽ kết thúc.
Bởi vì "Buttered Pecan" xuất hiện trước "Cookies and Cream", một giá trị dương đã được trả về với vị trí chỉ mục của "Buttered Pecan" trong chuỗi của chúng tôi.
Python find () so với Python index ()
Cả hai phương thức Python find () và Python index () đều trả về vị trí chỉ mục của một giá trị trong một chuỗi.
Không giống như index (), find () không trả về ngoại lệ nếu không tìm thấy giá trị. Thay vào đó, phương thức find () trả về -1. Điều này có nghĩa là bạn có thể xử lý những gì sẽ xảy ra nếu không tìm thấy giá trị mà không cần xử lý lỗi.
Kết luận
Python find () cho phép bạn tìm một chuỗi con trong một chuỗi. Nó tương tự như phương thức index (), nhưng phương thức index () tạo ra một ngoại lệ nếu một giá trị không được tìm thấy. find () trả về -1 nếu không tìm thấy giá trị.
Hướng dẫn này đã thảo luận, có tham chiếu đến các ví dụ, khái niệm cơ bản về lập chỉ mục chuỗi và cách sử dụng Python find () phương pháp. Giờ đây, bạn đã được trang bị kiến thức cần thiết để bắt đầu tìm các chuỗi con trong một chuỗi bằng cách sử dụng find () như một chuyên gia!
Để được hướng dẫn về các khóa học và tài nguyên học Python hàng đầu, hãy xem hướng dẫn Cách học Python của chúng tôi.