Làm thế nào để bạn tìm thấy tất cả các lần xuất hiện của chuỗi trong chuỗi python?

Chuỗi con là một dãy ký tự liên tục trong một Chuỗi. Chẳng hạn,

Number of substring occurrences: 2
Number of substring occurrences: 1
2 là một chuỗi con của
Number of substring occurrences: 2
Number of substring occurrences: 1
3

Các chuỗi trong Python là các mảng byte biểu thị các ký tự Unicode và một trong những kiểu dữ liệu được sử dụng phổ biến nhất để biểu thị dữ liệu ở định dạng mà con người có thể đọc được

Trong bài viết này, chúng ta sẽ tìm hiểu cách đếm số lần xuất hiện của một chuỗi con được chỉ định trong một chuỗi bằng Python

Tìm tất cả các lần xuất hiện của chuỗi con trong chuỗi bằng cách sử dụng đếm()

Phương thức

Number of substring occurrences: 2
Number of substring occurrences: 1
4 của lớp chuỗi thực sự làm điều này. Nó trả về số lần một giá trị được chỉ định (chuỗi con) xuất hiện trong chuỗi. Nó cũng có hai tham số tùy chọn -
Number of substring occurrences: 2
Number of substring occurrences: 1
5 và
Number of substring occurrences: 2
Number of substring occurrences: 1
6, biểu thị điểm bắt đầu và điểm kết thúc của không gian tìm kiếm

string.count(value, start, end)

Làm thế nào để bạn tìm thấy tất cả các lần xuất hiện của chuỗi trong chuỗi python?

Ghi chú.

Number of substring occurrences: 2
Number of substring occurrences: 1
5 mặc định là
Number of substring occurrences: 2
Number of substring occurrences: 1
8 và
Number of substring occurrences: 2
Number of substring occurrences: 1
6 mặc định là độ dài của chuỗi

Chúng ta hãy xem cách sử dụng phương pháp này, với một câu đại diện

Kết quả này trong

Number of substring occurrences: 2
Number of substring occurrences: 1

Đó là một phương pháp rất đơn giản và dễ hiểu, hoạt động tốt trong hầu hết các trường hợp. Nó hiệu quả và có thể mở rộng quy mô tốt với các kích thước đầu vào lớn. Chẳng hạn, chúng ta có thể tải một đoạn văn bản lớn và tìm kiếm một từ phổ biến hoặc một từ dừng chắc chắn sẽ có mặt

Bạn cũng có thể chỉ cần có được một không gian tìm kiếm lớn để hiểu được hiệu quả. Hãy tải xuống 'Romeo và Juliet' của William Shakespeare, từ Dự án Gutenberg và truy xuất số lần

Number of substring occurrences: 2
Number of substring occurrences: 1
00 được đề cập

Number of substring occurrences: 2
Number of substring occurrences: 1
0

Kết quả này trong

Number of substring occurrences: 2
Number of substring occurrences: 1
2

Hoặc, ngay cả khi chúng tôi tìm thấy một từ phổ biến hơn nhiều, chẳng hạn như

Number of substring occurrences: 2
Number of substring occurrences: 1
01

Number of substring occurrences: 2
Number of substring occurrences: 1
4

Kết quả là như nhau

Number of substring occurrences: 2
Number of substring occurrences: 1
5

Phần lớn thời gian thực hiện được thực hiện bằng thời gian tải xuống văn bản

Ghi chú. Phương thức này không trả về vị trí trong chuỗi mà chuỗi con xuất hiện

Nếu bạn yêu cầu kiến ​​thức này, hoặc để thực hiện các phép toán biến đổi bổ sung trên các lần xuất hiện bên cạnh việc đếm chúng - bạn sẽ muốn sử dụng Biểu thức chính quy để tìm vị trí của chúng hoặc kiểm tra các trường hợp riêng lẻ với

Number of substring occurrences: 2
Number of substring occurrences: 1
02

Chúng ta sẽ xem xét hai trường hợp này trong các phần sau

Tìm tất cả các lần xuất hiện và vị trí của chuỗi con trong chuỗi bằng Python

Phương thức

Number of substring occurrences: 2
Number of substring occurrences: 1
03 trả về
Number of substring occurrences: 2
Number of substring occurrences: 1
04 nếu chuỗi bắt đầu bằng
Number of substring occurrences: 2
Number of substring occurrences: 1
05 (chuỗi con) đã chỉ định và
Number of substring occurrences: 2
Number of substring occurrences: 1
06 nếu không. Tương tự như phương thức
Number of substring occurrences: 2
Number of substring occurrences: 1
4, phương thức này cũng có các tham số tùy chọn start và end xác định vị trí bắt đầu và kết thúc của không gian tìm kiếm

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ó

Number of substring occurrences: 2
Number of substring occurrences: 1
2

Giá trị mặc định của

Number of substring occurrences: 2
Number of substring occurrences: 1
5 là
Number of substring occurrences: 2
Number of substring occurrences: 1
8 và giá trị mặc định của
Number of substring occurrences: 2
Number of substring occurrences: 1
6 là độ dài của chuỗi

Sử dụng phương thức này phức tạp hơn một chút, vì nó yêu cầu chúng ta sử dụng khả năng hiểu danh sách cùng với chính phương thức đó hoặc một vòng lặp

Number of substring occurrences: 2
Number of substring occurrences: 1
21 truyền thống hơn. Phương thức
Number of substring occurrences: 2
Number of substring occurrences: 1
03 trả về chỉ số bắt đầu của chuỗi con. Sau đó, chúng tôi sử dụng khả năng hiểu danh sách để lặp qua toàn bộ không gian tìm kiếm

Điều này cho chúng tôi biết số lần xuất hiện, như lần trước, nhưng cũng là vị trí bắt đầu của chính các chuỗi. Vì chúng tôi biết chuỗi đang được đề cập và do đó, độ dài của nó - chúng tôi có thể dễ dàng suy ra khoảng trống mà nó chiếm trong chuỗi tìm kiếm

Number of substring occurrences: 2
Number of substring occurrences: 1
8

Tìm tất cả các lần xuất hiện của một chuỗi con trong một chuỗi trong Python bằng cách sử dụng lại. công cụ tìm()

Hàm ________ 123 là một phần của thư viện Python RegEx - ________ 124. Nó được sử dụng phổ biến nhất để tìm sự xuất hiện của một mẫu cụ thể trong một chuỗi nhất định

Để cho phép sử dụng phương thức này, cùng với nhiều phương thức khác xử lý các biểu thức RegEx, trước tiên chúng ta cần nhập thư viện regex

Number of substring occurrences: 2
Number of substring occurrences: 1
1

Nếu bạn muốn tìm hiểu thêm về Biểu thức chính quy, hãy đọc Hướng dẫn về Biểu thức chính quy trong Python của chúng tôi

Hàm

Number of substring occurrences: 2
Number of substring occurrences: 1
25 trả về một trình vòng lặp mang lại các đối tượng phù hợp trên tất cả các kết quả khớp không trùng lặp cho mẫu RegEx trong một chuỗi. Quá trình quét được thực hiện từ trái sang phải và kết quả trùng khớp được trả về theo thứ tự chúng được tìm thấy trong. Các trận đấu trống cũng được bao gồm

Cờ có thể được sử dụng để kích hoạt các tính năng độc đáo khác nhau và các biến thể cú pháp (ví dụ: cờ

Number of substring occurrences: 2
Number of substring occurrences: 1
26 hoặc
Number of substring occurrences: 2
Number of substring occurrences: 1
27 cho phép khớp không phân biệt chữ hoa chữ thường, cờ
Number of substring occurrences: 2
Number of substring occurrences: 1
28 hoặc
Number of substring occurrences: 2
Number of substring occurrences: 1
29 chỉ cho phép khớp
Number of substring occurrences: 2
Number of substring occurrences: 1
40 thay vì khớp
Number of substring occurrences: 2
Number of substring occurrences: 1
41 đầy đủ thông thường)

Hãy thay thế cách hiểu danh sách từ trước bằng Biểu thức chính quy

Kết quả này trong

Number of substring occurrences: 2
Number of substring occurrences: 1
9

Bây giờ, chúng ta không phải cộng độ dài của các chuỗi vào các chỉ số bắt đầu theo cách thủ công

Hiệu suất điểm chuẩn

Cần lưu ý rằng hiệu suất sẽ thay đổi tùy theo phương pháp bạn chọn. Mặc dù trong mọi trường hợp, mã sẽ kết thúc khá nhanh - vẫn đáng để tính đến hiệu suất trên các không gian tìm kiếm thực sự lớn

Hãy sử dụng ba phương pháp này để tìm tất cả các phiên bản của nhân vật

Number of substring occurrences: 2
Number of substring occurrences: 1
01 trong 'Romeo và Juliet'

Number of substring occurrences: 2
Number of substring occurrences: 1
0

Kết quả này trong

Number of substring occurrences: 2
Number of substring occurrences: 1
1

Phương pháp

Number of substring occurrences: 2
Number of substring occurrences: 1
4 chắc chắn là phương pháp hiệu quả nhất, nhưng nó không cho chúng ta biết vị trí của các chuỗi. Để có kiến ​​thức bổ sung - Biểu thức chính quy vẫn cực kỳ nhanh đối với tác vụ này và hiệu quả hơn gấp 10 lần so với vòng lặp hiểu danh sách thủ công của chúng tôi

Phần kết luận

Có nhiều cách khác nhau để giải quyết vấn đề này, một số cách được sử dụng thường xuyên hơn những cách khác, tùy thuộc vào dữ liệu bạn muốn trích xuất trong quy trình

Trong điểm chuẩn, phương pháp

Number of substring occurrences: 2
Number of substring occurrences: 1
4 vượt trội so với hai phương pháp còn lại, nhưng nó không cung cấp cho chúng tôi thông tin về vị trí của các chuỗi con. Mặt khác, Biểu thức chính quy, mặc dù chậm hơn, cung cấp cho chúng tôi thông tin này

Điều đáng chú ý là cả ba cách tiếp cận đều cực kỳ nhanh và có thể phân tích toàn bộ kiệt tác văn học để tìm một từ phổ biến trong tích tắc

Làm cách nào để tìm tất cả các lần xuất hiện của một phần tử trong chuỗi Python?

Số chuỗi Python() .

Làm cách nào để tìm số lần xuất hiện của một chuỗi trong một chuỗi trong Python?

Chuỗi Python Phương thức đếm() .

Làm cách nào để tìm chỉ mục của tất cả các lần xuất hiện của phần tử trong chuỗi Python?

Để tìm tất cả các chỉ mục của một chuỗi con trong một chuỗi. .
sử dụng lại. finditer() để lấy một đối tượng iterator của các kết quả khớp
Sử dụng khả năng hiểu danh sách để lặp qua iterator
Sử dụng trận đấu. phương thức start() để lấy các chỉ mục của chuỗi con trong chuỗi

Làm cách nào để đếm số lần xuất hiện của tất cả các ký tự trong một chuỗi bằng Python?

count() Một trong những cách có sẵn mà bạn có thể sử dụng Python để đếm số lần xuất hiện trong một chuỗi là sử dụng chuỗi có sẵn. phương thức đếm(). Phương thức nhận một đối số, một ký tự hoặc một chuỗi con và trả về số lần ký tự đó tồn tại trong chuỗi được liên kết với phương thức.