Làm thế nào để bạn có được vị trí của một ký tự trong danh sách python?

Chuyển đến nội dung chính

Giới thiệu về Python

Nắm vững kiến ​​thức cơ bản về phân tích dữ liệu với Python chỉ trong bốn giờ. Khóa học trực tuyến này sẽ giới thiệu giao diện Python và khám phá các gói phổ biến

Python trung gian

Nâng cao kỹ năng khoa học dữ liệu của bạn bằng cách tạo trực quan hóa bằng Matplotlib và thao tác với DataFrames bằng gấu trúc

Có liên quan

Dữ liệu văn bản trong Python Cheat Sheet

Chào mừng bạn đến với bảng gian lận của chúng tôi để làm việc với dữ liệu văn bản trong Python. Chúng tôi đã biên soạn một danh sách các hàm và gói hữu ích nhất để dọn dẹp, xử lý và phân tích dữ liệu văn bản trong Python, cùng với các ví dụ và giải thích rõ ràng, vì vậy bạn sẽ có mọi thứ cần biết về cách làm việc với dữ liệu văn bản trong Python.

Hướng dẫn về tập hợp và lý thuyết tập hợp trong Python

Tìm hiểu về bộ Python. chúng là gì, cách tạo chúng, khi nào sử dụng chúng, các chức năng tích hợp và mối quan hệ của chúng với các hoạt động lý thuyết thiết lập

Hướng dẫn về gấu trúc. Khung dữ liệu trong Python

Khám phá phân tích dữ liệu với Python. Pandas DataFrames giúp thao tác dữ liệu của bạn dễ dàng, từ việc chọn hoặc thay thế các cột và chỉ mục để định hình lại dữ liệu của bạn

Xem ThêmXem Thêm

Mã của bạn bắt đầu với từ trống được đặt thành một danh sách trống, nhưng sau đó nó được đặt thành một chuỗi. Chuỗi và danh sách không hoạt động theo cùng một cách

Các chuỗi là bất biến, vì vậy không có cú pháp nào để “thay đổi” chữ cái tại một vị trí trong chuỗi. Điều bạn có thể làm là tạo một chuỗi mới bằng cách sao chép tất cả các chữ cái trước và sau vị trí bạn muốn thay đổi

>>> s = "0123456789"
>>> s = s[:4] + "-" + s[5:]
>>> s
'0123-56789'

Hoặc xây dựng chuỗi một ký tự tại một thời điểm từ những gì bạn muốn. Đây là một ví dụ về việc chỉ hiển thị một số chữ cái nhất định của một chuỗi

Phương thức

str.index[sub[, start[, end]] ]
8 trả về chỉ mục của chuỗi con bên trong chuỗi [nếu tìm thấy]. Nếu không tìm thấy chuỗi con, nó sẽ đưa ra một ngoại lệ

Thí dụ

text = 'Python is fun'

# find the index of is result = text.index['is']

print[result] # Output: 7

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

Cú pháp của nó là

str.index[sub[, start[, end]] ]

chỉ mục [] Tham số

Phương thức

str.index[sub[, start[, end]] ]
8 có ba tham số

  • sub - chuỗi con được tìm kiếm trong chuỗi str
  • bắt đầu và kết thúc [tùy chọn] - chuỗi con được tìm kiếm trong str[start. chấm dứt]

chỉ mục [] Giá trị trả về

  • Nếu chuỗi con tồn tại bên trong chuỗi, nó trả về chỉ số thấp nhất trong chuỗi nơi tìm thấy chuỗi con
  • Nếu chuỗi con không tồn tại bên trong chuỗi, nó sẽ tạo ra một ngoại lệ ValueError

Phương thức

str.index[sub[, start[, end]] ]
8 tương tự như phương thức find[] cho chuỗi

Sự khác biệt duy nhất là phương thức find[] trả về -1 nếu không tìm thấy chuỗi con, trong khi đó,

str.index[sub[, start[, end]] ]
8 đưa ra một ngoại lệ

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để lấy chỉ mục của phần tử trong danh sách trong python. Chúng ta sẽ xem cách tìm chỉ mục đầu tiên của mục trong danh sách, sau đó cách tìm chỉ mục cuối cùng của mục trong danh sách hoặc sau đó là cách lấy chỉ mục của tất cả các lần xuất hiện của một mục trong danh sách. Ngoài ra, chúng tôi cũng sẽ thảo luận về cách tìm chỉ mục của các mục trong danh sách thỏa mãn một điều kiện nhất định

con trăn. Nhận chỉ mục của mục trong Danh sách

Để tìm chỉ mục của phần tử trong danh sách trong python, chúng ta sẽ sử dụng hàm list. mục lục[],

danh sách. mục lục[]

Kiểu dữ liệu danh sách của Python cung cấp phương thức này để tìm chỉ mục đầu tiên của một phần tử đã cho trong danh sách hoặc danh sách con i. e

quảng cáo

list.index[x[, start[, end]]]

Tranh luận

  • x. Mục cần tìm trong danh sách
  • bắt đầu. Nếu được cung cấp, tìm kiếm sẽ bắt đầu từ chỉ mục này. Mặc định là 0
  • chấm dứt. Nếu được cung cấp, tìm kiếm sẽ kết thúc tại chỉ mục này. Mặc định là cuối danh sách

trả lại. Chỉ số dựa trên số 0 về lần xuất hiện đầu tiên của phần tử đã cho trong danh sách hoặc phạm vi. Nếu không có phần tử nào như vậy thì nó sẽ tăng ValueError

Tâm điểm. danh sách. index[] trả về chỉ mục theo cách dựa trên 0 tôi. e. phần tử đầu tiên trong danh sách có chỉ số 0 và phần tử thứ hai trong chỉ mục là 1

Hãy sử dụng chức năng này để tìm các chỉ mục của một mục nhất định trong danh sách,

Giả sử chúng ta có một danh sách các chuỗi,

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']

Bây giờ, hãy tìm chỉ mục xuất hiện đầu tiên của mục 'Ok' trong danh sách,

elem = 'Ok'

# Find index position of first occurrence of 'Ok' in the list
index_pos = list_of_elems.index[elem]

print[f'First Index of element "{elem}" in the list : ', index_pos]

đầu ra

First Index of element "Ok" in the list :  1

Như trong danh sách. index[] chúng tôi không cung cấp đối số bắt đầu và kết thúc, vì vậy nó đã tìm kiếm 'Ok' trong danh sách đầy đủ. Nhưng đã trả lại vị trí chỉ mục ngay khi nó gặp sự xuất hiện đầu tiên của 'Ok' trong danh sách

Nhưng nếu mục được tìm kiếm không tồn tại trong danh sách, thì index[] sẽ tăng ValueError. Vì vậy, chúng ta cần phải sẵn sàng cho loại kịch bản này. Ví dụ,

list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']

elem = 'Why'

try:
    index_pos = list_of_elems.index[elem]
    print[f'First Index of element "{elem}" in the list : ', index_pos]
except ValueError as e:
    print[f'Element "{elem}" not found in the list: ', e]

đầu ra

________số 8

Vì 'Tại sao' không có trong danh sách, nên danh sách. index[] tăng ValueError

con trăn. Tìm chỉ mục của mục trong danh sách bằng vòng lặp for

Thay vì sử dụng danh sách. index[], chúng ta có thể lặp qua các phần tử danh sách theo vị trí chỉ mục, để tìm chỉ mục của phần tử trong danh sách i. e

list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']

elem = 'is'

pos = -1
# Iterate over list items by index pos
for i in range[len[list_of_elems]]:
    # Check if items matches the given element
    if list_of_elems[i] == elem:
        pos = i
        break

if pos > -1:
    print[f'Index of element "{elem}" in the list is: ', pos]
else:
    print[f'Element "{elem}" does not exist in the list: ', pos]

đầu ra

text = 'Python is fun'

# find the index of is result = text.index['is']

print[result] # Output: 7
0

con trăn. Nhận chỉ mục cuối cùng của mục trong danh sách

Để lấy chỉ mục cuối cùng của một mục trong danh sách, chúng ta chỉ cần đảo ngược nội dung của danh sách và sau đó sử dụng hàm index[] để lấy vị trí chỉ mục. Nhưng điều đó sẽ đưa ra chỉ mục của phần tử từ lần trước. Nơi chúng tôi muốn chỉ mục xuất hiện lần cuối của phần tử từ đầu. Hãy xem làm thế nào để làm điều đó,

text = 'Python is fun'

# find the index of is result = text.index['is']

print[result] # Output: 7
1

đầu ra

text = 'Python is fun'

# find the index of is result = text.index['is']

print[result] # Output: 7
2

Nó đưa ra chỉ số về lần xuất hiện cuối cùng của chuỗi 'Ok' trong danh sách

Đến đây chúng ta đã biết cách tìm chỉ số xuất hiện đầu tiên của một mục trong danh sách. Nhưng nếu có nhiều lần xuất hiện của một mục trong danh sách và chúng tôi muốn biết chỉ mục của chúng thì sao?

Tìm chỉ mục của tất cả các lần xuất hiện của một mục trong danh sách

Giả sử chúng ta có một danh sách các chuỗi i. e

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
0

Bây giờ chúng tôi muốn tìm chỉ mục của tất cả các lần xuất hiện của 'Ok' trong danh sách, như thế này,

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
1

Chúng là những cách khác nhau để làm điều đó, hãy xem từng cái một

Tìm tất cả các chỉ mục của một mục trong danh sách bằng cách sử dụng danh sách. mục lục[]

Như danh sách. index[] trả về chỉ số xuất hiện đầu tiên của một mục trong danh sách. Vì vậy, để tìm các lần xuất hiện khác của mục trong danh sách, chúng tôi sẽ gọi danh sách. index[] lặp đi lặp lại với các đối số phạm vi. Chúng tôi đã tạo một chức năng sử dụng danh sách. index[] và trả về một danh sách các chỉ mục của tất cả các lần xuất hiện của một mục trong danh sách đã cho i. e

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
2

Hàm này gọi danh sách. index[] trong một vòng lặp. Ban đầu, nó tìm kiếm mục từ chỉ mục thứ 0 trong danh sách. Nhưng khi nó gặp mục, thì từ lần lặp tiếp theo, nó sẽ tìm từ vị trí đó trở đi cho đến khi đạt đến cuối danh sách. Nó giữ các chỉ mục của các phần tử phù hợp trong một danh sách riêng biệt và cuối cùng trả về danh sách đó

Bây giờ, hãy sử dụng chức năng trên để tìm tất cả các chỉ mục của 'Ok' trong danh sách,

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
3

đầu ra

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
4

Tìm trực tiếp tất cả các chỉ mục của một mục trong danh sách trong khi lặp lại

Thay vì sử dụng danh sách. index[], chúng ta có thể lặp lại trực tiếp các phần tử danh sách bằng cách lập chỉ mục bằng cách sử dụng hàm range[]. Sau đó, đối với từng yếu tố, nó sẽ kiểm tra xem nó có khớp với mặt hàng của chúng tôi hay không. Nếu có thì hãy giữ chỉ mục của nó trong danh sách tôi. e

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
5

đầu ra

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
4

giải pháp đơn giản. Nhưng hãy xem xét một số lựa chọn thay thế dòng đơn,

Sử dụng Danh sách hiểu để tìm tất cả các chỉ mục của một mục trong danh sách

Khái niệm tương tự nhưng thay vì sử dụng vòng lặp for để lặp lại, chúng ta có thể đạt được điều tương tự bằng cách sử dụng hiểu danh sách i. e

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
7

đầu ra

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
4

Sử dụng more_itertools. định vị [] để tìm tất cả các chỉ mục của một mục trong danh sách

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
9

định vị [] mang lại chỉ mục của từng mục trong danh sách mà hàm gọi lại đã cho trả về True

Để tìm tất cả các lần xuất hiện của mục 'Ok' trong danh sách, chúng tôi sẽ chuyển một hàm lambda để xác định vị trí[], hàm này sẽ kiểm tra xem mục đó có phải là 'Ok' hay không. e

elem = 'Ok'

# Find index position of first occurrence of 'Ok' in the list
index_pos = list_of_elems.index[elem]

print[f'First Index of element "{elem}" in the list : ', index_pos]
0

đầu ra

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
4

định vị [] mang lại các chỉ mục của các phần tử trong danh sách mà vị từ đã cho là Đúng. Vì vậy, trong trường hợp của chúng tôi, nó mang lại các chỉ số của 'Ok' trong danh sách. Chúng tôi đã thu thập các chỉ mục đó trong một danh sách

Tìm chỉ mục của các mục trong danh sách thỏa mãn các điều kiện nhất định

Giả sử chúng ta muốn tìm chỉ mục của các mục trong danh sách thỏa mãn một số điều kiện như chỉ mục của các mục trong danh sách các chuỗi có độ dài nhỏ hơn 3. Để làm điều đó, chúng tôi đã tạo một chức năng chung i. e

elem = 'Ok'

# Find index position of first occurrence of 'Ok' in the list
index_pos = list_of_elems.index[elem]

print[f'First Index of element "{elem}" in the list : ', index_pos]
2

Hàm này chấp nhận danh sách các phần tử và hàm gọi lại làm đối số. Đối với mỗi phần tử, nó gọi hàm gọi lại và nếu hàm gọi lại [] trả về True thì nó sẽ giữ chỉ mục của phần tử đó trong một danh sách mới. Cuối cùng, nó trả về các chỉ mục của các mục trong danh sách mà callback[] đã trả về True

Hãy gọi hàm này để tìm chỉ mục của các mục trong danh sách các chuỗi có độ dài nhỏ hơn 3 i. e

elem = 'Ok'

# Find index position of first occurrence of 'Ok' in the list
index_pos = list_of_elems.index[elem]

print[f'First Index of element "{elem}" in the list : ', index_pos]
3

đầu ra

# List of strings
list_of_elems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']
4

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị Chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Làm cách nào để tìm vị trí của một ký tự trong danh sách bằng Python?

Phương pháp 1. Lấy vị trí của một ký tự trong Python sử dụng hàm rfind[] Phương thức rfind[] của Python String trả về chỉ số cao nhất của chuỗi con nếu được tìm thấy trong chuỗi đã cho. Nếu không tìm thấy thì trả về -1.

Làm cách nào để tìm vị trí chỉ mục của một phần tử trong danh sách Python?

Tìm chỉ mục của một mục bằng Phương thức List index[] trong Python .
my_list là tên của danh sách bạn đang tìm kiếm
index[] là phương thức tìm kiếm có ba tham số. .
item là tham số bắt buộc. .
bắt đầu là tham số tùy chọn đầu tiên. .
kết thúc tham số tùy chọn thứ hai

Chủ Đề