Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Find (Tìm kiếm): Hướng dẫn

Phương thức find() Python xác định vị trí chỉ mục nơi thể hiện đầu tiên của chuỗi xuất hiện trong chuỗi khác. find() trả về -1 nếu không tìm thấy giá trị. Ngược lại, trả về chỉ mục bắt đầu của giá trị bạn tìm kiếm.

Tìm chuỗi con (substring) trong chuỗi là thao tác phổ biến Python. Ví dụ, bạn có chuỗi chứa danh sách tiêu đề sách yêu thích. Bạn muốn tìm sách cụ thể trong danh sách, trả về vị trí sách xuất hiện.

Đó là lúc phương thức find() chuỗi Python xuất hiện. Phương thức find() cho phép tìm chuỗi con trong Python. Phương thức trả về vị trí chỉ mục lần xuất hiện đầu tiên của chuỗi con trong chuỗi.

Hướng dẫn thảo luận, kèm ví dụ, cơ bản lập chỉ mục chuỗi Python. Chúng ta dùng phương thức find() Python tìm chuỗi con trong chuỗi lớn hơn.

Python Indexing (Lập chỉ mục): Ôn tập

Chuỗi Python là trình tự chứa một hoặc nhiều ký tự riêng lẻ. Chuỗi chứa chữ cái, khoảng trắng, ký hiệu, hoặc số.

Xem chuỗi sau:

company = "Career Karma"

Chuỗi này gồm 12 ký tự, mỗi ký tự có vị trí riêng trong chuỗi. Phân tích chỉ mục:

Career Karma
01234567891011

Phương thức Python find()

Phương thức find() Python tìm lần đầu chuỗi cụ thể xuất hiện trong chuỗi khác. Nếu giá trị không tìm thấy, phương thức find() trả về -1. find() rất giống phương thức index() Python nhưng index() ném ngoại lệ (exception) nếu không tìm thấy giá trị.

Cú pháp phương thức find():

string_name.find(string_to_find, start, end)

Phương thức find() chấp nhận ba tham số:

  • string_to_find: Chuỗi con bạn muốn tìm chỉ mục bắt đầu trong chuỗi. (Bắt buộc)
  • start: Vị trí chỉ mục tìm kiếm bắt đầu. Mặc định 0. (Tùy chọn)
  • end: Vị trí chỉ mục tìm kiếm kết thúc. (Tùy chọn)

Phương thức find() trả về chỉ mục thấp nhất nơi lần xuất hiện đầu chuỗi con bắt đầu. Nếu chuỗi con tìm kiếm không tìm thấy trong chuỗi, giá trị -1 trả về.

Bạn có thể dùng câu lệnh if Python đánh giá xem -1 có trả về không. Điều này cho phép xử lý vấn đề nảy sinh nếu giá trị tìm không tìm thấy.

Bây giờ biết cú pháp find(), hãy khám phá ví dụ minh họa phương thức này.

Ví dụ Python Find

Ví dụ Python find(): Tìm chuỗi

Giả sử có chuỗi chứa danh sách hương kem bán chạy tại cửa hàng kem địa phương.

Chuỗi xuất hiện như sau:

flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry"

Dữ liệu định dạng chuỗi (ký hiệu bởi dấu nháy kép).

Giả sử muốn tìm mục "Cookies and Cream" xuất hiện ở đâu trong chuỗi. Chúng ta quan tâm phổ biến hương cookies and cream. Làm bằng hàm tích hợp sẵn find(). Mã dùng:

flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry"
cookies_and_cream = flavors.find("Cookies and Cream")
print(cookies_and_cream)

Mã trả về: 25.

Đầu, khai báo biến "flavors" lưu danh sách hương phổ biến bán tại cửa hàng kem.

Tiếp, dùng phương thức find() tìm thuật ngữ "Cookies and Cream" trong danh sách, gán giá trị trả về find() cho biến "cookies_and_cream".

Mã trả về giá trị 25, nghĩa "Cookies and Cream" bắt đầu vị trí chỉ mục 25 trong danh sách.

Ví dụ Python find(): Bắt đầu tìm kiếm tại chỉ mục cụ thể

Bây giờ, giả sử muốn kiểm tra "Choc Chip" xuất hiện sau "Cookies and Cream" trong danh sách. Biết "Cookies and Cream" bắt đầu chỉ mục 25, nên muốn tìm "Choc Chip" sau chỉ mục đó.

Chúng ta làm bằng mã:

flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry"
choc_chip = flavors.find("Choc Chip", 25)
print(choc_chip)

Mã trả về: 55. Dùng find() tìm "Choc Chip" trong chuỗi "flavors". Chỉ định tham số 25, nói nơi tìm kiếm bắt đầu trong chuỗi.

Vì "Choc Chip" xuất hiện sau "Cookies and Cream", giá trị dương trả về. Giá trị là vị trí chỉ mục "Choc Chip" trong danh sách.

Ví dụ Python find(): Tìm kiếm trong phạm vi cụ thể

Bây giờ, giả sử muốn tìm "Buttered Pecan" xuất hiện trước "Cookies and Cream". Biết "Cookies and Cream" bắt đầu chỉ mục 25, nên không muốn tìm "Buttered Pecan" sau điểm đó. Thực hiện tìm kiếm, dùng mã:

flavors = "Vanilla, Buttered Pecan, Cookies and Cream, Chocolate, Choc Chip, Strawberry"
buttered_pecan = flavors.find("Buttered Pecan", 0, 25)
print(buttered_pecan)

Mã trả về: 9. Ví dụ này, dùng find() tìm "Buttered Pecan" trong chuỗi. Chỉ định 0 vị trí tìm kiếm bắt đầu, 25 vị trí tìm kiếm kết thúc.

Vì "Buttered Pecan" xuất hiện trước "Cookies and Cream", giá trị dương trả về với chỉ mục "Buttered Pecan" trong chuỗi.

Python find() vs Python index()

Cả phương thức find() và index() Python trả về vị trí chỉ mục giá trị trong chuỗi.

Khác index(), find() không ném ngoại lệ nếu không tìm thấy giá trị. Thay vào đó, find() trả về -1. Nghĩa là bạn xử lý chuyện gì xảy ra nếu giá trị tìm không tìm thấy mà không xử lý lỗi.

Kết luận

Phương thức find() Python cho phép tìm chuỗi con trong chuỗi. Nó tương tự phương thức index(), nhưng index() ném ngoại lệ nếu không tìm thấy giá trị. find() trả về -1 nếu không tìm thấy.

Hướng dẫn thảo luận, tham chiếu ví dụ, cơ bản lập chỉ mục chuỗi và cách dùng phương thức find() Python. Bây giờ bạn trang bị kiến thức tìm chuỗi con trong chuỗi dùng find() như chuyên gia!

Về hướng dẫn tài nguyên, khóa học Python hàng đầu, xem How to Learn Python.