Hướng dẫn how do i find the first occurrence of a character in a string in python? - làm cách nào để tìm sự xuất hiện đầu tiên của một ký tự trong chuỗi trong python?

Tổng quan nhanh: s.rfind(t) #returns: Same as find, but searched right to left s.rindex(t) #returns: Same as index, but searches right to left 3 và s.rfind(t) #returns: Same as find, but searched right to left s.rindex(t) #returns: Same as index, but searches right to left 4

Bên cạnh phương thức

s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
4 cũng có
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
3.
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
4 và
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
3 Cả hai đều mang lại cùng một kết quả: Trả lại vị trí của lần xuất hiện đầu tiên, nhưng nếu không tìm thấy gì
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
3 sẽ tăng
string = "This guy is a crazy guy."
print(string.find("guy"));
0 trong khi
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
4 trả về
string = "This guy is a crazy guy."
print(string.find("guy"));
2. Speedwise, cả hai đều có cùng kết quả điểm chuẩn.but if nothing is found
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
3 will raise a
string = "This guy is a crazy guy."
print(string.find("guy"));
0 whereas
s.rfind(t)   #returns: Same as find, but searched right to left
s.rindex(t)  #returns: Same as index, but searches right to left
4 returns
string = "This guy is a crazy guy."
print(string.find("guy"));
2. Speedwise, both have the same benchmark results.

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: string = "This guy is a crazy guy." print(string.find("guy")); 3 và string = "This guy is a crazy guy." print(string.find("guy")); 4:

Nói chung, tìm và chỉ mục trả về chỉ mục nhỏ nhất trong đó chuỗi được truyền bắt đầu và

string = "This guy is a crazy guy."
print(string.find("guy"));
3 và
string = "This guy is a crazy guy."
print(string.find("guy"));
4 Trả về chỉ mục lớn nhất trong đó 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ừ trái sang phải, do đó, các chức năng bắt đầu bằng
string = "This guy is a crazy guy."
print(string.find("guy"));
7 cho thấy tìm kiếm xảy ra từ phải sang trái.left to right, so functions starting with
string = "This guy is a crazy guy."
print(string.find("guy"));
7 indicate that the search happens from right to left.

Vì vậy, trong trường hợp khả năng của yếu tố bạn đang tìm kiếm gần với cuối cùng với việc bắt đầu danh sách,

string = "This guy is a crazy guy."
print(string.find("guy"));
3 hoặc
string = "This guy is a crazy guy."
print(string.find("guy"));
4 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: Hướng dẫn bắt đầu nhanh trực quan, Toby Donaldson Python: Visual QuickStart Guide, Toby Donaldson

  1. Sử dụng chức năng
    5
    
    0 để tìm sự xuất hiện đầu tiên trong Python
  2. Sử dụng chức năng
    5
    
    1 để tìm sự xuất hiện đầu tiên trong Python
  3. Sử dụng các chức năng
    5
    
    2 và
    5
    
    3 để tìm sự xuất hiện cuối cùng trong Python

Hướng dẫn này sẽ thảo luận về các phương pháp để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi trong Python.

Sử dụng chức năng 5 0 để tìm sự xuất hiện đầu tiên trong Python

Sử dụng chức năng

5
1 để tìm sự xuất hiện đầu tiên trong Python

Sử dụng các chức năng

5
2 và
5
3 để tìm sự xuất hiện cuối cùng trong Python

string = "This guy is a crazy guy."
print(string.find("guy"));

Output:

5

Hướng dẫn này sẽ thảo luận về các phương pháp để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi trong Python.

Chúng ta có thể sử dụng chức năng

5
0 trong Python để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi. Hàm
5
0 lấy phần phụ làm tham số đầu vào và trả về chỉ số bắt đầu đầu tiên của chuỗi con bên trong chuỗi chính.

Sử dụng chức năng 5 1 để tìm sự xuất hiện đầu tiên trong Python

Sử dụng các chức năng

5
2 và
5
3 để tìm sự xuất hiện cuối cùng trong Python

string = "This guy is a crazy guy."
print(string.index("guy"));

Output:

5

Hướng dẫn này sẽ thảo luận về các phương pháp để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi trong Python.

Sử dụng các chức năng 5 2 và 5 3 để tìm sự xuất hiện cuối cùng trong Python

Hướng dẫn này sẽ thảo luận về các phương pháp để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi trong Python.

Chúng ta có thể sử dụng chức năng

5
0 trong Python để tìm sự xuất hiện đầu tiên của một chuỗi con bên trong một chuỗi. Hàm
5
0 lấy phần phụ làm tham số đầu vào và trả về chỉ số bắt đầu đầu tiên của chuỗi con bên trong chuỗi chính.

5
2:

string = "This guy is a crazy guy."
print(string.rfind("guy"));

Output:

20

5
3:

string = "This guy is a crazy guy."
print(string.rindex("guy"));

Output:

20

Hàm này trả về

string = "This guy is a crazy guy."
print(string.find("guy"));
2 nếu phần phụ không có mặt trong chuỗi chính.

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận This is usually the hack that we can employ to achieve this task. Employing string function rfind() to get the first element from right i.e last index of element in String. 

    Python3

    Có nhiều cách để tìm ra chỉ mục đầu tiên của phần tử trong chuỗi dưới dạng python trong ngôn ngữ của nó cung cấp chức năng Index () trả về chỉ mục xuất hiện đầu tiên của phần tử trong chuỗi. Nhưng nếu một người mong muốn có được sự xuất hiện cuối cùng của phần tử trong chuỗi, thường thì một phương pháp dài hơn phải được áp dụng. Hãy thảo luận về một số tốc ký để đạt được nhiệm vụ cụ thể này. & NBSP;

    Phương pháp số 1: Sử dụng rfind () Đây thường là bản hack mà chúng ta có thể sử dụng để đạt được nhiệm vụ này. Sử dụng hàm chuỗi rfind () để lấy phần tử đầu tiên từ bên phải, chỉ số phần tử cuối cùng trong chuỗi. & NBSP;

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    0
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    2

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    20
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    20
    
    9

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    5
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    8

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

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    9
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    20
    
    1
    20
    
    2
    20
    
    3
    One can convert the string to list using list() and then using list slicing we reverse the list and use the conventional index method to get the index of first occurrence of element. Due to reversed list, the last occurrence is returned rather than the first index of list. 

    Python3

    Có nhiều cách để tìm ra chỉ mục đầu tiên của phần tử trong chuỗi dưới dạng python trong ngôn ngữ của nó cung cấp chức năng Index () trả về chỉ mục xuất hiện đầu tiên của phần tử trong chuỗi. Nhưng nếu một người mong muốn có được sự xuất hiện cuối cùng của phần tử trong chuỗi, thường thì một phương pháp dài hơn phải được áp dụng. Hãy thảo luận về một số tốc ký để đạt được nhiệm vụ cụ thể này. & NBSP;

    Phương pháp số 1: Sử dụng rfind () Đây thường là bản hack mà chúng ta có thể sử dụng để đạt được nhiệm vụ này. Sử dụng hàm chuỗi rfind () để lấy phần tử đầu tiên từ bên phải, chỉ số phần tử cuối cùng trong chuỗi. & NBSP;

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    0
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    2

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    5
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    8

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    20
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    20
    
    9

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    5
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    8

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

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    9
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    20
    
    1
    20
    
    2
    20
    
    3

    Đầu ra: & nbsp;O(n)

    Phương pháp số 2: Sử dụng Danh sách lát + Index () + Danh sách () Người ta có thể chuyển đổi chuỗi thành danh sách bằng danh sách () và sau đó sử dụng Danh sách cắt . Do danh sách đảo ngược, lần xuất hiện cuối cùng được trả về thay vì chỉ số đầu tiên của danh sách. & NBSP;O(n)

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    0
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    20
    
    1
    20
    
    2

    Python3

    Có nhiều cách để tìm ra chỉ mục đầu tiên của phần tử trong chuỗi dưới dạng python trong ngôn ngữ của nó cung cấp chức năng Index () trả về chỉ mục xuất hiện đầu tiên của phần tử trong chuỗi. Nhưng nếu một người mong muốn có được sự xuất hiện cuối cùng của phần tử trong chuỗi, thường thì một phương pháp dài hơn phải được áp dụng. Hãy thảo luận về một số tốc ký để đạt được nhiệm vụ cụ thể này. & NBSP;

    Phương pháp số 1: Sử dụng rfind () Đây thường là bản hack mà chúng ta có thể sử dụng để đạt được nhiệm vụ này. Sử dụng hàm chuỗi rfind () để lấy phần tử đầu tiên từ bên phải, chỉ số phần tử cuối cùng trong chuỗi. & NBSP;

    s.rfind(t)   #returns: Same as find, but searched right to left
    s.rindex(t)  #returns: Same as index, but searches right to left
    
    21
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    s.rfind(t)   #returns: Same as find, but searched right to left
    s.rindex(t)  #returns: Same as index, but searches right to left
    
    23

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    0
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    2

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    5
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    8

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

    s.rfind(t)   #returns: Same as find, but searched right to left
    s.rindex(t)  #returns: Same as index, but searches right to left
    
    42
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    1
    s.rfind(t)   #returns: Same as find, but searched right to left
    s.rindex(t)  #returns: Same as index, but searches right to left
    
    44
    s.rfind(t)   #returns: Same as find, but searched right to left
    s.rindex(t)  #returns: Same as index, but searches right to left
    
    45

    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    3
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    4
    20
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    6
    string = "This guy is a crazy guy."
    print(string.rfind("guy"));
    
    7
    20
    
    9

    Đầu ra

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