Làm thế nào để bạn tìm kiếm một số trong danh sách python?

Để đơ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ày

fruit = ['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ày

fruit = ['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ợp

fruit = ['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ục

Nế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ách

Thí 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
    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ử đã cho trong danh sách
  • 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ợp

ví 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

Chủ Đề