Hướng dẫn what is search () in python? - search () trong python là gì?

Tìm kiếm là một điều cần thiết rất cơ bản khi bạn lưu trữ dữ liệu trong các cấu trúc dữ liệu khác nhau. Cách tiếp cận đơn giản nhất là đi qua mọi yếu tố trong cấu trúc dữ liệu và khớp với giá trị bạn đang tìm kiếm. Điều này được gọi là tìm kiếm tuyến tính. Nó không hiệu quả và hiếm khi được sử dụng, nhưng tạo ra một chương trình cho nó cho một ý tưởng về cách chúng ta có thể thực hiện một số thuật toán tìm kiếm nâng cao.

Tìm kiếm tuyến tính

Trong loại tìm kiếm này, một tìm kiếm tuần tự được thực hiện trên tất cả từng mục một. Mỗi mục được kiểm tra và nếu một trận đấu được tìm thấy thì mục cụ thể đó được trả về, nếu không thì tìm kiếm tiếp tục cho đến khi kết thúc cấu trúc dữ liệu.

Thí dụ

def linear_search[values, search_for]:
   search_at = 0
   search_res = False
# Match the value with each data element	
   while search_at < len[values] and search_res is False:
      if values[search_at] == search_for:
         search_res = True
      else:
         search_at = search_at + 1
   return search_res
l = [64, 34, 25, 12, 22, 11, 90]
print[linear_search[l, 12]]
print[linear_search[l, 91]]

Đầu ra

Khi mã trên được thực thi, nó sẽ tạo ra kết quả sau -

True
False

Tìm kiếm nội suy

Thuật toán tìm kiếm này hoạt động trên vị trí thăm dò của giá trị cần thiết. Đối với thuật toán này hoạt động chính xác, việc thu thập dữ liệu phải ở dạng được sắp xếp và phân phối đều nhau. Về cơ bản, vị trí đầu dò là vị trí của mục giữa của bộ sưu tập. Nếu một trận đấu xảy ra, thì chỉ mục của mục được trả về . Nếu mục giữa lớn hơn mục, thì vị trí đầu dò một lần nữa được tính toán ở mép con ở bên phải của mục giữa. Mặt khác, mục được tìm kiếm trong Subarray ở bên trái của mục giữa. Quá trình này tiếp tục trên các mảng con cho đến khi kích thước của Subarray giảm xuống 0.

Thí dụ

Đầu ra

def intpolsearch[values,x ]:
   idx0 = 0
   idxn = [len[values] - 1]
   while idx0 = values[idx0] and x  [hay còn gọi là "tham lam"].

Có một phần mở rộng cho biểu thức chính quy nơi bạn thêm một? Cuối cùng, chẳng hạn như.*? Hoặc.+?, Thay đổi chúng là không xanh. Bây giờ họ dừng lại ngay khi họ có thể. Vì vậy, mẫu '[]' sẽ chỉ nhận được '' là trận đấu đầu tiên và '' là trận đấu thứ hai, và lần lượt nhận được mỗi cặp. Phong cách thường là bạn sử dụng a.*?, Và ngay lập tức cái nhìn đúng của nó cho một số điểm đánh dấu cụ thể [> trong trường hợp này] buộc kết thúc.*? chạy.

Các *? Phần mở rộng có nguồn gốc từ Perl và các biểu thức chính quy bao gồm các phần mở rộng của Perl được gọi là các biểu thức thông thường tương thích của Perl - PCRE. Python bao gồm hỗ trợ PCRE. Nhiều dòng lệnh sử dụng, vv có một lá cờ trong đó họ chấp nhận các mẫu PCRE.

Một kỹ thuật cũ hơn nhưng được sử dụng rộng rãi để mã hóa ý tưởng này về "tất cả các ký tự này ngoại trừ dừng tại X" sử dụng kiểu khung vuông. Đối với những điều trên, bạn có thể viết mẫu, nhưng thay vì.* Để có được tất cả các ký tự bất kỳ char không trong ngoặc].

Thay thế [tùy chọn]

Chức năng Re.sub [Pat, thay thế, STR] tìm kiếm tất cả các trường hợp của mẫu trong chuỗi đã cho và thay thế chúng. Chuỗi thay thế có thể bao gồm '\ 1', '\ 2' đề cập đến văn bản từ nhóm [1], nhóm [2], v.v. từ văn bản khớp gốc.

Dưới đây là một ví dụ tìm kiếm tất cả các địa chỉ email và thay đổi chúng để giữ cho người dùng [\ 1] nhưng có yo-yo-dyne.com làm máy chủ.

True
False
4

Tập thể dục

Để thực hành các biểu thức thường xuyên, hãy xem bài tập tên em bé.

Làm thế nào để bạn sử dụng lệnh tìm kiếm trong Python?

Chức năng cú pháp của find [] trong chuỗi python là câu/từ gốc mà bạn muốn tìm bộ con.Chất nền là câu/từ mà bạn phải tìm kiếm.Bắt đầu và kết thúc là các tham số tùy chọn.Họ chỉ định phạm vi mà các chuỗi con cần được tìm kiếm.string is the original sentence/word in which you want to look for the substring. substring is the sentence/word which you have to search. start and end are optional parameters. They specify the range where the substring needs to be searched.

Match [] trong Python là gì?

khớp [mẫu, chuỗi]: Phương thức này tìm thấy khớp nếu nó xảy ra khi bắt đầu chuỗi.Ví dụ: Gọi Match [] trên chuỗi 'Hướng dẫn TP TP' và tìm kiếm một mẫu 'TP' sẽ khớp.Tuy nhiên, nếu chúng ta chỉ tìm kiếm các hướng dẫn, mẫu sẽ không khớp.This method finds match if it occurs at start of the string. For example, calling match[] on the string 'TP Tutorials Point TP' and looking for a pattern 'TP' will match. However, if we look for only Tutorials, the pattern will not match.

Sự khác biệt giữa tìm kiếm và khớp là gì?

Python cung cấp hai hoạt động nguyên thủy khác nhau dựa trên các biểu thức thông thường: kiểm tra đối sánh chỉ cho một trận đấu ở đầu chuỗi, trong khi tìm kiếm kiểm tra đối sánh ở bất cứ đâu trong chuỗi [đây là những gì Perl làm theo mặc định].match checks for a match only at the beginning of the string, while search checks for a match anywhere in the string [this is what Perl does by default].

Bài Viết Liên Quan

Chủ Đề