2010-07-11 38 views

Trả lời

118

find()

>>> s = "the dude is a cool dude" 
>>> s.find('dude') 
4 
+15

Và đây là lý do tại sao tôi yêu python –

+7

Nó trả về '-1' nếu không tìm thấy –

3

nhanh Tổng quan: indexfind

Bên cạnh phương pháp find có cũng index. findindex đều mang lại kết quả tương tự: trả về vị trí của lần xuất hiện đầu tiên, nhưng nếu không có gì được tìm thấy index sẽ tăng ValueError trong khi find trả về -1. Theo chiều kim đồng hồ, cả hai đều có cùng kết quả điểm chuẩn.

s.find(t) #returns: -1, or index where t starts in s 
s.index(t) #returns: Same as find, but raises ValueError if t is not in s 

kiến ​​thức bổ sung: rfindrindex:

Nói chung, tìm và chỉ số trở lại với chỉ số nhỏ nhất nơi thông qua trong chuỗi bắt đầu, và rfindrindex trả lại chỉ số lớn nhất, nơi nó bắt đầu Hầu hết các thuật toán tìm kiếm chuỗi tìm kiếm từ từ trái sang phải, do đó chức năng bắt đầu bằng r cho biết tìm kiếm diễn ra từ từ phải sang trái.

Vì vậy, trong trường hợp khả năng yếu tố bạn đang tìm kiếm gần với kết thúc bắt đầu danh sách, rfind hoặc rindex sẽ nhanh hơn.

s.rfind(t) #returns: Same as find, but searched right to left 
s.rindex(t) #returns: Same as index, but searches right to left 

Nguồn: Python: Visual QuickStart Guide, Toby Donaldson

Các vấn đề liên quan