Trong bài viết này, chúng ta sẽ tìm hiểu về Tìm kiếm tuyến tính và triển khai nó trong Python 3. x. Hoặc sớm hơn
thuật toán
Bắt đầu từ phần tử ngoài cùng bên trái của mảng[] đã cho và so sánh từng phần tử x với từng phần tử của mảng[]
Trong hướng dẫn này, chúng ta sẽ xem cách kiểm tra xem một danh sách có chứa một phần tử hoặc giá trị trong Python hay không. Chúng tôi sẽ sử dụng một danh sách các chuỗi, chứa một vài con vật
animals = ['Dog', 'Cat', 'Bird', 'Fish']
Kiểm tra xem danh sách có chứa phần tử với vòng lặp không
Một phương pháp đơn giản và thô sơ để kiểm tra xem một danh sách có chứa một phần tử đang lặp qua nó hay không và kiểm tra xem mục chúng ta đang tìm có khớp với mục chúng ta đang tìm kiếm không. Hãy sử dụng vòng lặp
7 cho việc nàyfor animal in animals: if animal == 'Bird': print['Chirp!']
for animal in animals: if animal == 'Bird': print['Chirp!']
Mã này sẽ dẫn đến
Chirp!
Kiểm tra xem Danh sách có chứa phần tử With trong Toán tử không
Bây giờ, một cách tiếp cận ngắn gọn hơn sẽ là sử dụng toán tử
8 có sẵn, nhưng với câu lệnhfor animal in animals: if animal == 'Bird': print['Chirp!']
9 thay vì câu lệnhfor animal in animals: if animal == 'Bird': print['Chirp!']
7. Khi được ghép nối vớifor animal in animals: if animal == 'Bird': print['Chirp!']
9, nó trả vềfor animal in animals: if animal == 'Bird': print['Chirp!']
2 nếu một phần tử có tồn tại trong một chuỗi hay không. Cú pháp của toán tửChirp!
8 trông như thế nàyfor animal in animals: if animal == 'Bird': print['Chirp!']
0for animal in animals: if animal == 'Bird': print['Chirp!']
Bằng cách sử dụng toán tử này, chúng ta có thể rút ngắn đoạn mã trước đó thành một câu lệnh duy nhất
1for animal in animals: if animal == 'Bird': print['Chirp!']
Đoạn mã này sẽ xuất ra như sau
2for animal in animals: if animal == 'Bird': print['Chirp!']
Cách tiếp cận này có hiệu quả tương tự như vòng lặp
7, vì toán tửfor animal in animals: if animal == 'Bird': print['Chirp!']
8, được sử dụng như thế này, gọi hàmfor animal in animals: if animal == 'Bird': print['Chirp!']
6, vốn dĩ đã lặp qua danh sách - tuy nhiên, nó dễ đọc hơn nhiềuChirp!
Kiểm tra xem Danh sách có chứa phần tử không có trong Toán tử
Ngược lại, chúng ta có thể sử dụng toán tử
7, ngược logic với toán tửChirp!
8. Nó trả vềfor animal in animals: if animal == 'Bird': print['Chirp!']
2 nếu phần tử không có trong một chuỗiChirp!
Hãy viết lại ví dụ mã trước để sử dụng toán tử
7Chirp!
0for animal in animals: if animal == 'Bird': print['Chirp!']
Chạy mã này sẽ không tạo ra bất kỳ thứ gì, vì
01 có trong danh sách của chúng tôifor animal in animals: if animal == 'Bird': print['Chirp!']
Nhưng nếu chúng ta thử với một
02for animal in animals: if animal == 'Bird': print['Chirp!']
3for animal in animals: if animal == 'Bird': print['Chirp!']
Mã này dẫn đến
4for animal in animals: if animal == 'Bird': print['Chirp!']
Kiểm tra xem danh sách có chứa phần tử với Lambda không
Một cách khác để bạn có thể kiểm tra xem một phần tử có tồn tại hay không là lọc ra mọi thứ khác ngoài phần tử đó, giống như sàng lọc cát và kiểm tra xem cuối cùng còn sót lại phần vỏ nào không. Phương thức
03 tích hợp chấp nhận hàm lambda và danh sách làm đối số của nó. Chúng ta có thể sử dụng hàm lambda ở đây để kiểm tra chuỗifor animal in animals: if animal == 'Bird': print['Chirp!']
04 của mình trong danh sáchfor animal in animals: if animal == 'Bird': print['Chirp!']
05for animal in animals: if animal == 'Bird': print['Chirp!']
Sau đó, chúng tôi bọc kết quả trong một
06 vì phương thứcfor animal in animals: if animal == 'Bird': print['Chirp!']
03 trả về một đối tượngfor animal in animals: if animal == 'Bird': print['Chirp!']
08, không phải kết quả. Nếu chúng ta đóng gói đối tượngfor animal in animals: if animal == 'Bird': print['Chirp!']
08 trong một danh sách, nó sẽ chứa các phần tử còn lại sau khi lọcfor animal in animals: if animal == 'Bird': print['Chirp!']
2Chirp!
Mã này dẫn đến
Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
0for animal in animals: if animal == 'Bird': print['Chirp!']
Bây giờ, cách tiếp cận này không phải là hiệu quả nhất. Nó khá chậm so với ba cách tiếp cận trước đây mà chúng tôi đã sử dụng. Bản thân phương thức
03 tương đương với hàm tạofor animal in animals: if animal == 'Bird': print['Chirp!']
1for animal in animals: if animal == 'Bird': print['Chirp!']
Hiệu suất bị chậm lại của mã này, trong số những thứ khác, xuất phát từ thực tế là cuối cùng chúng tôi đang chuyển đổi kết quả thành một danh sách, cũng như thực thi một chức năng trên mục trên mỗi lần lặp lại
Kiểm tra xem Danh sách có chứa phần tử hay không bằng cách sử dụng bất kỳ []
Một cách tiếp cận tích hợp tuyệt vời khác là sử dụng hàm
11, đây chỉ là một hàm trợ giúp kiểm tra xem có bất kỳ [ít nhất 1] trường hợp nào của một phần tử trong danh sách không. Nó trả vềfor animal in animals: if animal == 'Bird': print['Chirp!']
2 hoặcChirp!
13 dựa trên sự hiện diện hay thiếu phần tử đófor animal in animals: if animal == 'Bird': print['Chirp!']
2for animal in animals: if animal == 'Bird': print['Chirp!']
Vì kết quả này là
2, câu lệnhChirp!
15 của chúng ta được gọi làfor animal in animals: if animal == 'Bird': print['Chirp!']
2for animal in animals: if animal == 'Bird': print['Chirp!']
Cách tiếp cận này cũng là một cách hiệu quả để kiểm tra sự hiện diện của một phần tử. Nó hiệu quả như ba cái đầu tiên
Kiểm tra xem Danh sách có chứa phần tử hay không bằng cách sử dụng đếm[]
Cuối cùng, chúng ta có thể sử dụng hàm
16 để kiểm tra xem một phần tử có hay khôngfor animal in animals: if animal == 'Bird': print['Chirp!']
4for animal in animals: if animal == 'Bird': print['Chirp!']
Hàm này trả về sự xuất hiện của phần tử đã cho trong một chuỗi. Nếu nó lớn hơn 0, chúng tôi có thể yên tâm rằng một mục nhất định có trong danh sách
Hãy kiểm tra kết quả của hàm
16for animal in animals: if animal == 'Bird': print['Chirp!']
5for animal in animals: if animal == 'Bird': print['Chirp!']
Hàm ________ 116 vốn đã lặp danh sách để kiểm tra số lần xuất hiện và mã này dẫn đến kết quả
2for animal in animals: if animal == 'Bird': print['Chirp!']
Sự kết luận
Trong hướng dẫn này, chúng tôi đã giới thiệu một số cách để kiểm tra xem một phần tử có trong danh sách hay không. Chúng tôi đã sử dụng vòng lặp
7, toán tửfor animal in animals: if animal == 'Bird': print['Chirp!']
8 vàfor animal in animals: if animal == 'Bird': print['Chirp!']
7, cũng như các phương thứcChirp!
03,for animal in animals: if animal == 'Bird': print['Chirp!']
11 vàfor animal in animals: if animal == 'Bird': print['Chirp!']
16for animal in animals: if animal == 'Bird': print['Chirp!']