Làm cách nào để tìm chỉ mục của một chuỗi cụ thể trong danh sách python?

Trong hướng dẫn ngắn này, hãy tìm hiểu cách tìm chỉ mục của phần tử trong danh sách bằng Python. Chúng tôi xem mã để đạt được điều này với những ưu và nhược điểm của nó

Trước khi chúng tôi đi sâu vào cách bạn có thể tìm thấy chỉ mục của một phần tử trong danh sách, chúng tôi thực hiện một bản tóm tắt nhỏ về danh sách là gì, trong Python. Tuy nhiên, trong trường hợp bạn đã quen thuộc với nó, bạn có thể đi thẳng đến Giải pháp

Mục lục - Tìm chỉ mục của phần tử trong danh sách Python

  • Danh sách trong Python - Tóm tắt
  • Tìm chỉ mục của phần tử trong danh sách Python
  • Mã và giải thích
  • Hạn chế và Hãy cẩn thận

Danh sách trong Python - Tóm tắt

Danh sách trong Python là một tập hợp các mục được sắp xếp theo thứ tự và các mục này có thể thuộc nhiều loại dữ liệu khác nhau. Danh sách được đặt trong dấu ngoặc vuông [[ ]] và các mục trong danh sách được phân tách bằng dấu phẩy

Các danh sách đã cho là một tập hợp các mục được sắp xếp theo thứ tự, mỗi phần tử có vị trí duy nhất và mỗi phần tử có thể được truy cập bằng cách cho Python biết vị trí. Những vị trí này được gọi là chỉ số

Chỉ mục trong danh sách bắt đầu bằng 0. Về cơ bản, điều này có nghĩa là phần tử đầu tiên trong danh sách có chỉ số là 0 chứ không phải 1 và sau đó phần tử thứ hai có chỉ số là 1. Khái niệm này đúng với hầu hết các ngôn ngữ lập trình. Nếu ban đầu bạn gặp khó khăn trong việc hiểu khái niệm này, chỉ cần lưu ý rằng tất cả các chỉ mục đều không giống nhau

Với cách đó, chúng ta hãy xem cách tìm chỉ mục của một phần tử trong danh sách Python

Tìm chỉ mục của phần tử trong danh sách bằng Python

Vì chỉ mục của danh sách được sử dụng để truy cập các phần tử trong Python, nên việc người ta muốn tìm chỉ mục của một phần tử là điều đương nhiên. Điều này có vẻ dễ dàng khi xử lý một danh sách nhỏ;

Để tạo điều kiện thuận lợi cho việc này, Python có một hàm sẵn có được gọi là index[]. Hàm này lấy phần tử làm đối số và trả về chỉ mục. Bằng cách sử dụng chức năng này, chúng tôi có thể tìm thấy chỉ mục của một phần tử trong danh sách trong Python

Cú pháp của chỉ mục[]

list.index[element, start, end]

Ở đây, "danh sách" đề cập đến tên của danh sách bạn đang muốn tìm kiếm

Thông số

  • Phần tử - Bắt buộc, phần tử có chỉ mục bạn muốn tìm
  • Bắt đầu - Tùy chọn, chỉ mục để bắt đầu tìm kiếm
  • Kết thúc - Tùy chọn, chỉ mục để kết thúc tìm kiếm

Giá trị trả về

  • Trả về chỉ mục của phần tử đã truyền
  • ValueError được trả về nếu không tìm thấy phần tử

Mã và giải thích

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1

Như bạn có thể thấy, chúng tôi đã sử dụng đoạn mã trên để tìm chỉ mục của một phần tử trong danh sách. Tiếp theo, chúng ta hãy xem một ví dụ sử dụng hai tham số khác

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list

Trong đoạn mã trên, trước tiên chúng tôi tìm kiếm phần tử “o” giữa chỉ mục thứ 1 và thứ 5 và chỉ mục được trả về khi phần tử này có mặt

Tuy nhiên, đoạn mã thứ hai tìm kiếm “o” giữa chỉ mục thứ 0 và thứ 2 và vì “o” ở chỉ mục thứ 3 nên ValueError được trả về là không thể tìm thấy “o”

Đây là cách bạn sử dụng hàm index[] để tìm chỉ mục của một phần tử trong danh sách

Tìm chỉ mục của phần tử trong danh sách Python - Hạn chế và Hãy cẩn thận

  • ValueErrors được trả về nếu không tìm thấy phần tử, tôi khuyên bạn nên sử dụng try-catch trong trường hợp bạn đang sử dụng nó trong một đoạn mã lớn hơn
  • Các tham số phân biệt chữ hoa chữ thường và chỉ mục [] sẽ trả về ValueError ngay cả khi phần tử có mặt nhưng trong một trường hợp khác. Tôi khuyên bạn nên sử dụng. trên hoặc. phương pháp thấp hơn trong trường hợp bạn không chắc chắn về trường hợp
  • Phương thức Index[] chỉ trả về chỉ mục của lần xuất hiện đầu tiên, trong trường hợp bạn đang tìm kiếm lần xuất hiện giảm dần bằng cách sử dụng tham số bắt đầu và dừng tương ứng

P. S. Nếu bạn muốn tìm hiểu thêm về danh sách, hãy xem các hướng dẫn này về cách kiểm tra xem danh sách có trống không và xóa các mục khỏi danh sách

Tham số bắt đầu là

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
4. Nó sẽ bắt đầu tìm kiếm chuỗi con
s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
0 từ chỉ mục 2

s1="banana"
print [s1.find["an",2]]
#Output:3

ví dụ 3. Nếu không tìm thấy chuỗi con, nó sẽ trả về -1

Chuỗi con là

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
6

Tham số bắt đầu là

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
7 và tham số dừng là
s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
8. Nó sẽ bắt đầu tìm kiếm chuỗi con từ chỉ mục 1 đến chỉ mục 5 [không bao gồm]

Vì không tìm thấy chuỗi con trong chuỗi trong chỉ mục đã cho, nên nó trả về

s1="banana"
print [s1.find["an",2]]
#Output:3
6

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1

2. str. rfind[]

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
19 trả về chỉ số cao nhất trong chuỗi nơi chuỗi con
s1="banana"
print [s1.find["an",2]]
#Output:3
4 được tìm thấy trong
data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
32. Nó trả về
s1="banana"
print [s1.find["an",2]]
#Output:3
6 nếu không tìm thấy phụ.
______57 và
s1="banana"
print [s1.find["an",2]]
#Output:3
8 là các đối số tùy chọn. -tài liệu trăn

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
3

ví dụ 1. Sử dụng str. phương thức rfind[]

Ảnh của tác giả

Chuỗi là

s1="banana"
print [s1.find["an",2]]
#Output:3
9

Chuỗi con là

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
0

Chuỗi con xuất hiện hai lần trong chuỗi

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
1 trả về chỉ số cao nhất của chuỗi con
s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
0

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
2

ví dụ 2. Sử dụng str. phương thức rfind[] với các tham số bắt đầu và kết thúc được đề cập

Chuỗi con là

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
0

Các tham số

s1="banana"
print [s1.find["an",2]]
#Output:3
7 và
s1="banana"
print [s1.find["an",2]]
#Output:3
8 lần lượt là
s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
7 và
vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
24. Nó sẽ bắt đầu tìm kiếm chuỗi con từ chỉ mục 1 và chỉ mục 4 [không bao gồm]

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
8

ví dụ 3. Nếu không tìm thấy chuỗi con, nó sẽ trả về -1

Chuỗi con là

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
25

Vì không tìm thấy chuỗi con trong chuỗi nên nó trả về

s1="banana"
print [s1.find["an",2]]
#Output:3
6

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
1

3. str. mục lục[]

Tương tự như

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
27,
s1="banana"
print [s1.find["an",2]]
#Output:3
0 trả về chỉ số thấp nhất của chuỗi con được tìm thấy trong chuỗi. Nó tăng
vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
29 khi không tìm thấy chuỗi con. tài liệu -python

ví dụ 1. Sử dụng str. phương thức chỉ mục []

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
5

ví dụ 2. Sử dụng str. phương thức index[] với các tham số bắt đầu và kết thúc đã cho

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
6

ví dụ 3. Nếu không tìm thấy chuỗi con, nó sẽ phát sinh ValueError

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
10

4. str. rindex[]

Tương tự như

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
27,
s1="banana"
print [s1.find["an",2]]
#Output:3
1 trả về chỉ số cao nhất của chuỗi con được tìm thấy trong chuỗi. Nó tăng
vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
29 khi không tìm thấy chuỗi con. tài liệu -python

ví dụ 1. Sử dụng str. phương thức rindex[]

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
11

ví dụ 2. Sử dụng str. phương thức index[] với các tham số bắt đầu và kết thúc đã cho

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
12

ví dụ 3. Nếu không tìm thấy chuỗi con, nó sẽ phát sinh ValueError

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
13

5. lại. tìm kiếm[] ____114

“Quét qua chuỗi để tìm vị trí đầu tiên nơi mẫu biểu thức chính quy tạo ra kết quả khớp và trả về đối tượng khớp tương ứng. Trả về

vowels = ['a', 'e', 'i', 'o', 'i', 'u']


# Searching for “o” within index 1-5
print[vowels.index["o",1,5]]
#Output - 3


# Searching for “o” within index 1-3
print[vowels.index["o",0,2]]
#Output - ValueError: 'o' is not in list
83 nếu không có vị trí nào trong chuỗi khớp với mẫu; . ” — Tài liệu chính thức của Python

  • vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    84 [mẫu, chuỗi]. Chúng ta phải đề cập đến
    vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    85 để được tìm kiếm trong
    vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    86
  • Kiểu trả về khớp với đối tượng chứa chỉ mục bắt đầu và kết thúc của mẫu đó [chuỗi con]
  • Chúng ta có thể tìm các chỉ số
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    7 và
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    8 từ đối tượng khớp bằng cách sử dụng
    vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    89 và
    s1="banana"
    print [s1.find["ba",1,5]]
    #Output:-1
    10
data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
15

“Trả về các chỉ số bắt đầu và kết thúc của chuỗi con được khớp theo nhóm; . Trả lại

s1="banana"
print [s1.find["an",2]]
#Output:3
6 nếu nhóm tồn tại nhưng không đóng góp vào trận đấu. ” — Tài liệu của Python

  • Chúng ta có thể lấy các chỉ số
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    7 và
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    8 ở định dạng tuple bằng cách sử dụng
    s1="banana"
    print [s1.find["ba",1,5]]
    #Output:-1
    14
data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
16

“Đối với một trận đấu m, hãy trả lại 2-tuple

s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
15. Lưu ý rằng nếu nhóm không đóng góp vào trận đấu, đây là
s1="banana"
print [s1.find["ba",1,5]]
#Output:-1
16. nhóm mặc định là 0, toàn bộ trận đấu. ” — Tài liệu của Python

ví dụ 1. Sử dụng lại. Tìm kiếm[]

ví dụ 2. Nếu không tìm thấy chuỗi con trong chuỗi, nó sẽ trả về Không có

data_types = ["Str", "Int", "Float"]


# Searching for “int”
print[data_types.index["Int"]]

#Output - 1
17

Sự kết luận

  • Trăn 3. 8. 1 được sử dụng
  • data_types = ["Str", "Int", "Float"]
    
    
    # Searching for “int”
    print[data_types.index["Int"]]
    
    #Output - 1
    
    18,
    data_types = ["Str", "Int", "Float"]
    
    
    # Searching for “int”
    print[data_types.index["Int"]]
    
    #Output - 1
    
    19 — Trả về
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    6 khi không tìm thấy chuỗi con
  • s1="banana"
    print [s1.find["an",2]]
    #Output:3
    0,
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    1— Tăng
    vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    29 khi không tìm thấy chuỗi con
  • s1="banana"
    print [s1.find["an",2]]
    #Output:3
    2 — Trả về
    vowels = ['a', 'e', 'i', 'o', 'i', 'u']
    
    
    # Searching for “o” within index 1-5
    print[vowels.index["o",1,5]]
    #Output - 3
    
    
    # Searching for “o” within index 1-3
    print[vowels.index["o",0,2]]
    #Output - ValueError: 'o' is not in list
    
    83 khi không tìm thấy chuỗi con
  • data_types = ["Str", "Int", "Float"]
    
    
    # Searching for “int”
    print[data_types.index["Int"]]
    
    #Output - 1
    
    18,
    s1="banana"
    print [s1.find["ba",1,5]]
    #Output:-1
    56 — Trả về chỉ số thấp nhất của chuỗi con
  • data_types = ["Str", "Int", "Float"]
    
    
    # Searching for “int”
    print[data_types.index["Int"]]
    
    #Output - 1
    
    19,
    s1="banana"
    print [s1.find["an",2]]
    #Output:3
    1 — Trả về chỉ số cao nhất của chuỗi con
  • s1="banana"
    print [s1.find["an",2]]
    #Output:3
    2 — Trả về đối tượng khớp có chứa chỉ số bắt đầu và kết thúc của chuỗi con

Các blog khác của tôi liên quan đến các phương thức chuỗi

Các cách khác nhau để thay thế các lần xuất hiện của chuỗi con trong chuỗi Python

Sử dụng các phương thức chuỗi và biểu thức chính quy trong python

Blog. thiên tài. io

Xóa khoảng trắng khỏi chuỗi trong Python

Sử dụng các phương thức chuỗi và biểu thức chính quy trong Python

lên cấp. gitconnected. com

tách [] so với. phân vùng [] trong Chuỗi Python

Có gì khác biệt?

lập trình tốt hơn. quán rượu

5 cách để tìm chỉ mục của một chuỗi con trong Python

Sử dụng các phương thức chuỗi và biểu thức chính quy trong Python

lập trình tốt hơn. quán rượu

Tài nguyên [Tài liệu Python]

  • str. tìm thấy
  • str. mục lục
  • str. tìm thấy
  • str. chỉ mục
  • lại. Tìm kiếm
  • đối tượng khớp

Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter

Chủ Đề