Hướng dẫn how do you count occurrences of a word in a string in python? - làm thế nào để bạn đếm số lần xuất hiện của một từ trong một chuỗi trong python?

Trong bài đăng này, bạn sẽ học cách sử dụng Python để đếm số lần xuất hiện trong một chuỗi. Bạn sẽ tìm hiểu bốn cách khác nhau để thực hiện điều này, bao gồm: Phương pháp chuỗi .count() tích hợp và mô-đun counter tuyệt vời.

Biết cách làm điều này là một kỹ năng cực kỳ hữu ích, cho phép bạn tìm, giả sử, trùng lặp các giá trị trong một chuỗi hoặc xóa các ký tự không mong muốn (như các ký tự đặc biệt).

Giải pháp dễ dàng: Sử dụng chuỗi .count()

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print(a_string.count('o'))4

Một trong những cách tích hợp trong đó bạn có thể sử dụng Python để đếm số lần xuất hiện trong chuỗi là sử dụng phương thức chuỗi .count() tích hợp. Phương thức lấy 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.

Phương pháp này rất đơn giản để thực hiện. Trong ví dụ dưới đây, tải một chuỗi mẫu và sau đó đếm số lần chỉ là một ký tự và một chuỗi con xuất hiện:

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2

Trong ví dụ trên, bạn đã sử dụng phương thức chuỗi tích hợp .count() để đếm số lần cả một ký tự và một chuỗi xuất hiện trong một chuỗi lớn hơn.

Số lượng xảy ra trong chuỗi Python với bộ đếm

Để tìm ra một cách linh hoạt và hiệu quả hơn để đếm các sự xuất hiện của một ký tự trong chuỗi Python, bạn cũng có thể sử dụng đối tượng

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
1 từ mô-đun
>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
2 tích hợp. Mô -đun cung cấp một số lớp trợ giúp để làm việc, tốt, các bộ sưu tập các mục khác nhau.

Trong trường hợp này, bộ sưu tập của chúng tôi sẽ là một chuỗi:

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
3.

from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})

Những gì chúng tôi đã hoàn thành trong mã trên là như sau:

  1. Chúng tôi đã nhập
    >>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
    1 từ mô -đun bộ sưu tập
  2. Sau đó, chúng tôi đã gán chuỗi của chúng tôi cho biến
    >>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
    5
  3. Chúng tôi đã chuyển chuỗi vào một đối tượng
    >>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
    1 và gọi nó là
    >>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
    7
  4. Cuối cùng, chúng tôi đã in đối tượng
    >>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
    7 mới

Những gì bạn có thể thấy là những gì được trả về là một đối tượng đối tượng. Chúng tôi có thể xác nhận điều này bằng cách chạy

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
9 trả về
from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
0.

Điều tuyệt vời về lớp này là nó chứa một yếu tố giống như từ điển có chứa sự xuất hiện của mọi mục có thể lặp lại trong mục được truyền vào.

Điều này có nghĩa là chúng ta có thể truy cập vào sự xuất hiện của các mục khác nhau trong đối tượng của chúng ta bằng cách truyền trong một người truy cập từ điển.

Trong ví dụ dưới đây, hãy xem làm thế nào chúng ta có thể thấy tần suất các chữ cái

from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
1 và
from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
2 xảy ra:

>>> print(collection['a'])>>> print(collection['e'])13

Đây là sự kỳ diệu của lớp

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
1: nó cho phép bạn dễ dàng truy cập vào số lần xuất hiện trong các vòng lặp Python, chẳng hạn như chuỗi.

Kiểm tra một số hướng dẫn Python khác về DataGy, bao gồm hướng dẫn đầy đủ của chúng tôi về Gấu trúc kiểu dáng và tổng quan toàn diện của chúng tôi về các bảng xoay vòng trong gấu trúc!

Sử dụng các biểu thức thông thường (regex) để đếm các lần xuất hiện trong chuỗi python

Bạn cũng có thể sử dụng các biểu thức thông thường (regex) để đếm số lần xuất hiện trong chuỗi Python. Cách tiếp cận này là một chút quá mức cần thiết, nhưng nếu bạn quen thuộc với Regex, thì đó có thể là một cách dễ dàng để thực hiện!

Sử dụng mô -đun biểu thức chính quy, cụ thể là phương thức

from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
4 để tải các chỉ số của nơi xảy ra ký tự hoặc chuỗi con. Cuối cùng, sử dụng tốt chức năng
from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
5 tích hợp để xem tần suất xảy ra ký tự hoặc chuỗi con.

Hãy xem cách thức hoạt động của nó:

>>> import re>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print(len(re.findall('o', a_string)))4

Chúng ta có thể thấy rằng phương pháp này là một cách làm việc kỳ lạ, đặc biệt là khi so sánh với hai phương pháp ở trên, bao gồm phương pháp .count() tích hợp và lớp

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
1 tích hợp từ các bộ sưu tập.

Cuối cùng, hãy xem làm thế nào chúng ta có thể đếm các sự xuất hiện bằng cách sử dụng một vòng lặp.

Sử dụng một vòng lặp để đếm các lần xuất hiện trong chuỗi python

Sử dụng một vòng lặp trong python để đếm các sự xuất hiện trong một chuỗi là một chút của một giải pháp ngây thơ, nhưng đôi khi nó có thể có ích.

Cách nó hoạt động, là các danh sách là các mục mà bạn có thể lặp lại (hoặc, thường được gọi là Iterables), có nghĩa là bạn có thể lặp qua từng ký tự trong một chuỗi và đếm xem một ký tự có xảy ra hay không.

Hãy thực hiện ví dụ dưới đây và sau đó xem xét cách chúng tôi hoàn thành mọi thứ:

a_string = 'the quick brown fox jumps over the lazy dog'count_o = 0for character in a_string:    if character == 'o':        count_o += 1    else:        passprint(count_o)# Returns: 4

Những gì chúng tôi đã làm ở đây là:

  1. Khởi tạo một danh sách mới
  2. Đặt biến
    from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
    8 thành 0
  3. Lặp qua mỗi
    from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
    9 trong chuỗi và đánh giá nếu nó bằng
    >>> print(collection['a'])>>> print(collection['e'])13
    0. Nếu có, chúng tôi sẽ tăng biến
    from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
    8 lên 1. Nếu không, chúng tôi không làm gì cả.

Giải pháp này hoạt động, nhưng nó hơi tẻ nhạt để viết ra và nó không nhanh cho chuỗi lớn hơn.

Sự kết luận

Trong bài đăng này, bạn đã học cách sử dụng Python để đếm các lần xuất hiện trong một chuỗi bằng bốn phương pháp khác nhau. Cụ thể, bạn đã học cách đếm các lần xuất hiện trong một chuỗi bằng phương pháp .count() tích hợp, lớp

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
1 từ các bộ sưu tập, phương thức
from collections import Countera_string = 'the quick brown fox jumps over the lazy dog'collection = Counter(a_string)print(collection)# Returns: Counter({' ': 8, 'o': 4, 'e': 3, 't': 2, 'h': 2, 'u': 2, 'r': 2, 'q': 1, 'i': 1, 'c': 1, 'k': 1, 'b': 1, 'w': 1, 'n': 1, 'f': 1, 'x': 1, 'j': 1, 'm': 1, 'p': 1, 's': 1, 'v': 1, 'l': 1, 'a': 1, 'z': 1, 'y': 1, 'd': 1, 'g': 1})
4 từ các biểu thức thông thường
>>> print(collection['a'])>>> print(collection['e'])13
5, cũng như cách sử dụng một vòng lặp cho vòng lặp.

Nếu bạn muốn tìm hiểu thêm về lớp

>>> a_string = 'the quick brown fox jumps over the lazy dog'>>> print('o appears this many times: ', a_string.count('o'))>>> print('the appears this many times: ', a_string.count('the'))o appears this many times:  4ui appears this many times:  2
1, hãy xem tài liệu chính thức ở đây.

Làm thế nào để bạn đếm các sự xuất hiện của một từ trong một chuỗi?

Cách tiếp cận: Đầu tiên, chúng tôi chia chuỗi theo khoảng trắng trong a. Sau đó, lấy một số lượng biến số = 0 và trong mọi điều kiện thực sự, chúng tôi tăng số lượng lên 1. Bây giờ chạy một vòng lặp ở độ dài 0 đến chiều dài của chuỗi và kiểm tra xem chuỗi của chúng tôi có bằng từ này không.

Làm thế nào để bạn đếm các sự xuất hiện của chuỗi con trong một chuỗi trong Python?

Chức năng Python String Count () là một hàm sẵn có trong ngôn ngữ lập trình Python trả về số lần xuất hiện của một chuỗi con trong chuỗi đã cho.Tham số: Hàm đếm () có một bắt buộc và hai tham số tùy chọn. is an inbuilt function in python programming language that returns the number of occurrences of a substring in the given string. Parameters: The count() function has one compulsory and two optional parameters.

Làm thế nào để bạn tính sự xuất hiện trong Python?

Cách dễ nhất để đếm số lần xuất hiện trong danh sách Python của một mục nhất định là sử dụng phương thức Python .Count ().Phương pháp được áp dụng cho một danh sách nhất định và lấy một đối số duy nhất.Đối số được chuyển vào phương thức được tính và số lần xuất hiện của mục đó trong danh sách được trả về.use the Python . count() method. The method is applied to a given list and takes a single argument. The argument passed into the method is counted and the number of occurrences of that item in the list is returned.

Làm thế nào để bạn đếm tần số của một từ trong Python?

Sử dụng phương thức SET () để loại bỏ một bản sao và để đưa ra một tập hợp các từ duy nhất.Lặp qua chức năng đếm và sử dụng (tức là chuỗi.Count (Báo chí [Lặp lại])) để tìm tần số của từ ở mỗi lần lặp.string. count(newstring[iteration])) to find the frequency of word at each iteration.