nhanh Tổng quan: index
và find
Bên cạnh phương pháp find
có cũng index
. find
và index
đề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: rfind
và rindex
:
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à rfind
và rindex
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
Và đây là lý do tại sao tôi yêu python –
Nó trả về '-1' nếu không tìm thấy –