Để đơn giản kiểm tra xem một danh sách có chứa một mục cụ thể trong Python hay không, bạn có thể sử dụng toán tử
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
2 như thế nàyfruit = ['apple', 'banana', 'orange', 'lime']
if 'lime' in fruit:
print['Lime found!']
# Lime found!
Tìm chỉ mục duy nhất
Để tìm chỉ mục của một mục trong danh sách Python, bạn có thể sử dụng phương thức danh sách
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
3 như thế nàyfruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
Lưu ý rằng đoạn mã trên in ra chỉ số 3 cho vôi vì Python liệt kê các chỉ số bắt đầu từ 0
Tìm nhiều chỉ số
Nếu bạn muốn tìm chỉ mục cho nhiều mục trong danh sách thì bạn có thể sử dụng hàm
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
4 tích hợp để theo dõi và lưu trữ chỉ mục khi tìm thấy kết quả phù hợpfruit = ['apple', 'banana', 'orange', 'lime']
favourites = ['apple', 'lime']
# Find multiple indices with for loop
apples = []
for index, f in enumerate[fruit]:
if f in favourites:
apples.append[index]
print[apples]
# [0, 3]
# Find multiple indices with list comprehension
apples = [index for index, f in enumerate[fruit] if f in favourites]
print[apples]
# [0, 3]
Lọc danh sách theo danh sách
Hãy nhớ rằng khi bạn sử dụng toán tử
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
2 để tìm kiếm một mục trong danh sách, Python sẽ kiểm tra từng mục trong danh sách từ đầu đến cuối để tìm kết quả khớp. Đối với một lượng nhỏ tìm kiếm, đây thực sự không phải là điều đáng lo ngại. Tuy nhiên, nếu bạn đang lọc hai danh sách tương đối lớn với nhau để tạo danh sách thứ ba, điều này có thể dẫn đến một lượng lớn nỗ lực và thời gian tính toán không cần thiết. Có thể có một cách hiệu quả hơn để tìm kiếm các mụcNếu danh sách bạn đang tìm kiếm không cần chứa các mục trùng lặp thì bạn nên cân nhắc sử dụng bộ Python thay vì danh sách. Một tập hợp trong Python giống như một danh sách ngoại trừ một tập hợp không thể chứa các mục trùng lặp và không lưu trữ thứ tự của các mục. Vậy thì tại sao bạn lại muốn sử dụng một bộ?
Chà, lợi thế của các bộ là chúng tạo ra hàm băm cho từng mục mà chúng chứa. Điều này có nghĩa là khi bạn tìm kiếm một mục trong một tập hợp bằng cách sử dụng toán tử
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
2, Python sẽ chuyển đổi mục đó thành hàm băm và có thể xác định xem mục đó có tồn tại hay không và ở đâu trong tập hợp chỉ bằng một lần kiểm tra. Vì vậy, nếu bạn đang tìm kiếm nhiều mục trong một danh sách lớn khác và danh sách đó không cần chứa bất kỳ mục trùng lặp nào thì bạn nên xem xét sử dụng một bộCác tập hợp liệt kê để tìm kiếm nhanh hơn bao nhiêu? . một bộ gồm 100.000 mục trên Macbook Pro, đây là khoảng thời gian mỗi lần tìm kiếm
Danh sách. 4. 129141 giây
Bộ. 0. 000150 giây
Đây là mã được sử dụng để kiểm tra thời gian tra cứu
Bạn cũng có thể chơi với một bản thay thế của mã này có hiệu suất chậm hơn nhiều [khoảng 14 giây để tìm kiếm danh sách] có lẽ vì nó đang chạy trên các tài nguyên hạn chế
Phương thức
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
3 trả về chỉ mục của phần tử được chỉ định trong danh sáchThí dụ
animals = ['cat', 'dog', 'rabbit', 'horse']
# get the index of 'dog'
index = animals.index['dog']
print[index]
# Output: 1
Cú pháp của List index[]
Cú pháp của phương thức danh sách
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
3 làlist.index[element, start, end]
liệt kê tham số index[]
Phương thức danh sách
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
3 có thể nhận tối đa ba đối số- phần tử - phần tử được tìm kiếm
- bắt đầu [tùy chọn] - bắt đầu tìm kiếm từ chỉ mục này
- kết thúc [tùy chọn] - tìm kiếm phần tử cho đến chỉ mục này
Giá trị trả về từ chỉ mục Danh sách[]
- Phương thức
3 trả về chỉ mục của phần tử đã cho trong danh sáchfruit = ['apple', 'banana', 'orange', 'lime'] lime_pos = fruit.index['lime'] print[lime_pos] # 3
- Nếu phần tử không được tìm thấy, một ngoại lệ
list.index[element, start, end]
2 được đưa ra
Ghi chú. Phương thức
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
3 chỉ trả về lần xuất hiện đầu tiên của phần tử phù hợpví dụ 1. Tìm chỉ số của phần tử
# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']
# index of 'e' in vowels
index = vowels.index['e']
print['The index of e:', index]
# element 'i' is searched
# index of the first 'i' is returned
index = vowels.index['i']
print['The index of i:', index]
đầu ra
The index of e: 1 The index of i: 2
ví dụ 2. Chỉ mục của phần tử không có trong danh sách
________số 8đầu ra
ValueError: 'p' is not in list
ví dụ 3. Hoạt động của chỉ mục [] Với các tham số bắt đầu và kết thúc
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
0đầu ra
fruit = ['apple', 'banana', 'orange', 'lime']
lime_pos = fruit.index['lime']
print[lime_pos]
# 3
1