Tìm chỉ mục của một phần tử trong chuỗi Python

Phương thức python string index[] được sử dụng để trả về chỉ mục của chuỗi đầu vào nơi tìm thấy chuỗi con. Về cơ bản, nó giúp chúng tôi tìm hiểu xem chuỗi con đã chỉ định có xuất hiện trong chuỗi đầu vào hay không. Phương thức này lấy chuỗi con cần tìm làm tham số bắt buộc

Có hai tham số tùy chọn là chỉ mục bắt đầu và chỉ mục kết thúc chỉ định phạm vi tìm thấy chuỗi con. Nếu 2 tham số này không được chỉ định thì hàm index[] hoạt động từ chỉ số thứ 0 đến cuối chuỗi. Nếu không tìm thấy chuỗi con trong chuỗi đầu vào, nó sẽ phát sinh ValueError không giống như hàm find[]

Trong phần sau chúng ta sẽ tìm hiểu sâu hơn về phương pháp này

cú pháp

Sau đây là cú pháp của phương thức chuỗi index[] trong python

str.index[str, beg=0, end=len[string]]

Thông số

Sau đây là các tham số của phương thức chuỗi index[] trong python

  • str - Tham số này chỉ định chuỗi sẽ được tìm kiếm

  • beg - Tham số này chỉ định chỉ mục bắt đầu. Giá trị mặc định là '0'

  • end - Tham số này chỉ định chỉ mục kết thúc. Giá trị mặc định là độ dài của chuỗi

Giá trị trả về

Hàm index[] của chuỗi python trả về chỉ mục nếu được tìm thấy và nếu không sẽ tăng ValueError

Thí dụ

Sau đây là một ví dụ về phương thức find[] của chuỗi python. Trong phần này, chúng tôi đã tạo một chuỗi "Xin chào. Chào mừng bạn đến với Tutorialspoint" và cố gắng tìm từ "đến" trong đó

str1 = "Hello! Welcome to Tutorialspoint."
str2 = "to";
result= str1.index[str2]
print["The index where the substring is found:", result]

Khi thực hiện chương trình trên, đầu ra sau được tạo -

The index where the substring is found: 15

Thí dụ

Các khoảng trắng cũng được tính là các chuỗi con. Nếu có nhiều hơn một khoảng trắng trong chuỗi đầu vào, thì khoảng trắng đầu tiên gặp phải trong chuỗi đầu vào được coi là chỉ mục kết quả

#!/usr/bin/python
str1 = "Hello! Welcome to Tutorialspoint."
str2 = " ";
result= str1.index[str2]
print["The index where the substring is found:", result]

Sau đây là đầu ra thu được bằng cách thực hiện chương trình trên -

The index where the substring is found: 6

Thí dụ

Phương thức python string index[] trả về chỉ mục nơi chuỗi con được tìm thấy trong phạm vi của chỉ mục bắt đầu và kết thúc được chỉ định

#!/usr/bin/python
str1 = "Hello! Welcome to Tutorialspoint."
str2 = " ";
result= str1.index[str2, 12, 15]
print["The index where the substring is found:", result]

Đầu ra sau đây thu được bằng cách thực hiện chương trình trên -

The index where the substring is found: 14

Thí dụ

Nếu cùng một chuỗi con xuất hiện nhiều lần trong chuỗi đầu vào, thì dựa trên chỉ mục bắt đầu hoặc kết thúc được chỉ định làm tham số của hàm, sẽ thu được chỉ mục kết quả

Trong bài đăng này, bạn sẽ học cách tìm chỉ mục của một chuỗi con trong một chuỗi, cho dù đó là chuỗi con đầu tiên hay chuỗi con cuối cùng. Bạn cũng sẽ học cách tìm mọi chỉ mục của một chuỗi con trong một chuỗi

Biết cách làm việc với chuỗi là một kỹ năng quan trọng trong hành trình Python của bạn. Bạn sẽ tìm hiểu cách tạo danh sách tất cả các vị trí chỉ mục mà chuỗi con đó xuất hiện

Câu trả lời nhanh

Mục lục

Cách sử dụng Python để tìm chỉ mục đầu tiên của chuỗi con trong chuỗi

Nếu tất cả những gì bạn muốn làm là lập chỉ mục đầu tiên của chuỗi con trong chuỗi Python, bạn có thể thực hiện việc này dễ dàng bằng phương thức str.index[]. Phương thức này được tích hợp sẵn trong Python, vì vậy không cần nhập bất kỳ gói nào

Hãy xem cách bạn có thể sử dụng Python để tìm chỉ mục đầu tiên của chuỗi con trong chuỗi

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the first index of 'the'
index = a_string.index['the']
print[index]

# Returns: 0

Ở đây chúng ta có thể thấy rằng phương thức .index[] nhận tham số của chuỗi con mà chúng ta đang tìm kiếm. Khi chúng ta áp dụng phương thức cho chuỗi a_string của mình, kết quả của nó trả về 0. Điều này có nghĩa là chuỗi con bắt đầu ở vị trí chỉ số 0, của chuỗi của chúng ta [i. e. , đó là từ đầu tiên]

Hãy xem cách bạn có thể tìm thấy chỉ mục cuối cùng của chuỗi con trong chuỗi Python

Cách sử dụng Python để tìm chỉ mục cuối cùng của chuỗi con trong chuỗi

Có thể nhiều lúc bạn muốn tìm chỉ số cuối cùng của một chuỗi con trong một chuỗi Python. Để thực hiện điều này, chúng ta không thể sử dụng phương thức chuỗi .index[]. Tuy nhiên, Python được tích hợp sẵn một phương thức chuỗi tìm kiếm từ phải sang trái, nghĩa là nó sẽ trả về chỉ mục bên phải xa nhất. Đây là phương pháp

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex['the']
print[index]

# Returns: 76
0

Hãy xem cách chúng ta có thể sử dụng phương pháp

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex['the']
print[index]

# Returns: 76
1 để tìm chỉ mục cuối cùng của một chuỗi con trong Python

________số 8_______

Trong ví dụ trên, chúng tôi đã áp dụng phương thức

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex['the']
print[index]

# Returns: 76
0 cho chuỗi để trả về vị trí của chỉ mục cuối cùng của chuỗi con của chúng tôi

Cách sử dụng công cụ tìm biểu thức chính quy [Regex] để tìm tất cả các chỉ số của chuỗi con trong chuỗi Python

Các ví dụ trên đều trả về các chỉ số khác nhau, nhưng cả hai chỉ trả về một chỉ số duy nhất. Có thể có những lúc bạn muốn trả về tất cả các chỉ số của một chuỗi con trong một chuỗi Python

Đối với điều này, chúng tôi sẽ sử dụng thư viện biểu thức chính quy phổ biến,

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex['the']
print[index]

# Returns: 76
3. Cụ thể, chúng tôi sẽ sử dụng phương pháp
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find the last index of 'the'
index = a_string.rindex['the']
print[index]

# Returns: 76
4, giúp bạn tìm thấy một phép lặp

Hãy xem cách chúng ta có thể sử dụng các biểu thức chính quy để tìm tất cả các chỉ số của một chuỗi con trong chuỗi Python

import re

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find all indices of 'the'
indices_object = re.finditer[pattern='the', string=a_string]
indices = [index.start[] for index in indices_object]
print[indices]

# Returns: [0, 31, 45, 76]

Ví dụ này có thêm một số bộ phận chuyển động. Hãy chia nhỏ những gì chúng ta đã làm từng bước

  1. Chúng tôi đã nhập
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex['the']
    print[index]
    
    # Returns: 76
    3 và thiết lập biến a_string như trước đây
  2. Sau đó, chúng tôi sử dụng
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex['the']
    print[index]
    
    # Returns: 76
    7 để tạo một đối tượng có thể lặp lại chứa tất cả các kết quả phù hợp
  3. Sau đó, chúng tôi đã tạo một cách hiểu danh sách để tìm giá trị
    a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"
    
    # Find the last index of 'the'
    index = a_string.rindex['the']
    print[index]
    
    # Returns: 76
    8, nghĩa là vị trí chỉ mục bắt đầu của mỗi trận đấu, trong đó
  4. Cuối cùng, chúng tôi đã in danh sách các vị trí bắt đầu lập chỉ mục

Trong phần tiếp theo, bạn sẽ học cách sử dụng khả năng hiểu danh sách trong Python để tìm tất cả các chỉ số của một chuỗi con trong một chuỗi

Cách sử dụng khả năng hiểu danh sách Python để tìm tất cả các chỉ số của chuỗi con trong chuỗi

Hãy xem cách bạn có thể tìm thấy tất cả các chỉ số của một chuỗi con trong một chuỗi trong Python mà không cần sử dụng thư viện biểu thức chính quy. Chúng tôi sẽ thực hiện điều này bằng cách sử dụng khả năng hiểu danh sách

Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python?

Hãy xem cách chúng ta có thể thực hiện việc này bằng cách sử dụng khả năng hiểu danh sách

a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

# Find all indices of 'the'
indices = [index for index in range[len[a_string]] if a_string.startswith['the', index]]

print[indices]

# Returns: [0, 31, 45, 76]

Chúng ta hãy xem cách hoạt động của việc hiểu danh sách này

  1. Chúng tôi lặp lại các số từ 0 đến hết độ dài của danh sách
  2. Chúng tôi bao gồm vị trí chỉ mục của số đó nếu chuỗi con được tạo bằng cách tách chuỗi của chúng tôi từ chỉ mục đó trở đi, bắt đầu bằng chữ cái của chúng tôi
  3. Chúng tôi nhận được một danh sách được trả về tất cả các trường hợp mà chuỗi con đó xuất hiện trong chuỗi của chúng tôi

Trong phần cuối cùng của hướng dẫn này, bạn sẽ học cách xây dựng một hàm tùy chỉnh để trả về các chỉ số của tất cả các chuỗi con trong chuỗi Python của chúng ta

Xem một số hướng dẫn Python khác về datagy, bao gồm hướng dẫn đầy đủ của chúng tôi về cách tạo kiểu cho Pandas và tổng quan toàn diện của chúng tôi về Pivot Tables trong Pandas

Cách xây dựng hàm tùy chỉnh để tìm tất cả các chỉ số của chuỗi con trong chuỗi bằng Python

Bây giờ bạn đã học được hai phương thức khác nhau để trả về tất cả các chỉ số của một chuỗi con trong chuỗi Python, hãy tìm hiểu cách chúng ta có thể biến phương thức này thành một hàm Python tùy chỉnh

Tại sao chúng ta muốn làm điều này? . Đây là lúc một chức năng sẽ trở nên hữu ích, vì nó cho phép người đọc trong tương lai [rất có thể là bạn. ] biết mã của bạn đang làm gì

Bắt đầu nào

# Create a custom function to return the indices of all substrings in a Python string
a_string = "the quick brown fox jumps over the lazy dog. the quick brown fox jumps over the lazy dog"

def find_indices_of_substring[full_string, sub_string]:
    return [index for index in range[len[full_string]] if full_string.startswith[sub_string, index]]

indices = find_indices_of_substring[a_string, 'the']
print[indices]

# Returns: [0, 31, 45, 76]

Trong hàm tùy chỉnh mẫu này, chúng tôi sử dụng phương pháp hiểu danh sách để tìm các chỉ số của tất cả các chuỗi con. Lý do cho điều này là nó không tạo ra bất kỳ sự phụ thuộc bổ sung nào.

Phần kết luận

Trong bài đăng này, bạn đã hướng dẫn cách sử dụng Python để tìm chỉ mục đầu tiên, chỉ mục cuối cùng và tất cả các chỉ mục của một chuỗi con trong một chuỗi. Bạn đã học cách thực hiện điều này với các phương thức chuỗi thông thường, với các biểu thức chính quy, khả năng hiểu danh sách cũng như một hàm được tạo tùy chỉnh

Chủ Đề