Hướng dẫn python count item in list - số lượng trăn mục trong danh sách

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức Danh sách Python () với sự trợ giúp của các ví dụ.

Phương thức

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
2 Trả về số lần phần tử được chỉ định xuất hiện trong danh sách.

Thí dụ

# create a list
numbers = [2, 3, 5, 2, 11, 2, 7]

# check the count of 2 count = numbers.count(2)

print('Count of 2:', count) # Output: Count of 2: 3


Cú pháp của Danh sách đếm ()

Cú pháp của phương pháp

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
2 là:

list.count(element)

Count () tham số

Phương thức

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
2 có một đối số duy nhất:

  • phần tử - phần tử được tính - the element to be counted

Trả về giá trị từ Count ()

Phương thức

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
2 Trả về số lần phần tử xuất hiện trong danh sách.


Ví dụ 1: Sử dụng đếm ()

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)

Đầu ra

The count of i is: 2
The count of p is: 0

Ví dụ 2: Đếm Tuple và các yếu tố danh sách bên trong Danh sách

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)

Đầu ra

The count of ('a', 'b') is: 2
The count of [3, 4] is: 1

Giới thiệu

Nhận số lượng các yếu tố trong một danh sách trong Python là một hoạt động phổ biến. Ví dụ: bạn sẽ cần biết có bao nhiêu yếu tố mà danh sách có bất cứ khi nào bạn lặp lại thông qua nó. Hãy nhớ rằng các danh sách có thể có sự kết hợp của số nguyên, phao, chuỗi, booleans, danh sách khác, v.v. như các yếu tố của chúng:

# List of just integers
list_a = [12, 5, 91, 18]

# List of integers, floats, strings, booleans
list_b = [4, 1.2, "hello world", True]

Nếu chúng ta đếm các yếu tố trong

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
6, chúng ta sẽ nhận được 5 yếu tố nói chung. Nếu chúng ta làm tương tự cho
# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
7, chúng ta sẽ nhận được 4 yếu tố.

Có nhiều cách khác nhau để có được số lượng các yếu tố trong một danh sách. Các cách tiếp cận khác nhau cho dù bạn muốn đếm danh sách lồng nhau là một yếu tố hoặc tất cả các yếu tố trong danh sách lồng nhau hay bạn chỉ quan tâm đến các yếu tố duy nhất và tương tự.

Chức năng tích hợp Len ()

Cách đơn giản nhất để có được số lượng các phần tử trong danh sách là sử dụng hàm tích hợp Python

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8.

Hãy xem xét ví dụ sau:

list_a = ["Hello", 2, 15, "World", 34]

number_of_elements = len(list_a)

print("Number of elements in the list: ", number_of_elements)

Bản in nào:

________số 8

Như hàm tên cho thấy,

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 trả về độ dài của danh sách, bất kể các loại phần tử trong đó.

Sử dụng một vòng lặp cho

Một cách khác, chúng ta có thể làm điều này là tạo một chức năng lặp qua danh sách bằng cách sử dụng vòng lặp

The count of i is: 2
The count of p is: 0
0. Trước tiên chúng tôi khởi tạo số lượng của các phần tử thành 0 và mỗi khi một lần lặp vòng lặp được thực hiện, số lượng tăng thêm 1.

Vòng lặp kết thúc khi nó lặp lại trên tất cả các phần tử, do đó, số lượng sẽ đại diện cho tổng số phần tử trong danh sách:

list_c = [20, 8.9, "Hi", 0, "word", "name"]

def get_number_of_elements(list):
    count = 0
    for element in list:
        count += 1
    return count

print("Number of elements in the list: ", get_number_of_elements(list_c))

Chạy mã này sẽ in:

list.count(element)
0

Đây là một giải pháp dài dòng hơn nhiều so với hàm

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8, nhưng nó đáng để trải qua nó vì chúng ta sẽ thấy sau trong bài viết rằng ý tưởng tương tự có thể được áp dụng khi chúng ta xử lý danh sách danh sách. Ngoài ra, bạn có thể muốn thực hiện một số hoạt động trên chính các yếu tố hoặc một hoạt động nói chung, điều này có thể xảy ra ở đây.

Nhận số lượng các yếu tố duy nhất trong danh sách

Danh sách có thể có nhiều yếu tố, bao gồm cả bản sao. Nếu chúng ta muốn có được số lượng các yếu tố mà không có các bản sao (các yếu tố duy nhất), chúng ta có thể sử dụng một hàm tích hợp khác

The count of i is: 2
The count of p is: 0
2. Hàm này tạo ra một đối tượng
The count of i is: 2
The count of p is: 0
3, từ chối tất cả các giá trị trùng lặp.

Sau đó, chúng tôi chuyển điều đó vào hàm

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 để có được số lượng các phần tử trong
The count of i is: 2
The count of p is: 0
3:

list.count(element)
1

Bản in nào:

list.count(element)
2

Chúng ta có thể thấy rằng

The count of i is: 2
The count of p is: 0
6 có tổng cộng 8 yếu tố, trong đó 5 yếu tố là duy nhất.

Danh sách danh sách sử dụng Len ()

Trong phần giới thiệu, chúng tôi đã thấy rằng các yếu tố của danh sách có thể thuộc các loại dữ liệu khác nhau. Tuy nhiên, danh sách có thể có, lần lượt, danh sách là yếu tố của chúng. Ví dụ:

list.count(element)
3

Nếu chúng tôi sử dụng chức năng tích hợp

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8, danh sách được tính là các yếu tố đơn lẻ, vì vậy chúng tôi sẽ có:

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

list.count(element)
4

Bản in nào:

list.count(element)
5

Chúng ta có thể thấy rằng

The count of i is: 2
The count of p is: 0
6 có tổng cộng 8 yếu tố, trong đó 5 yếu tố là duy nhất.

Danh sách danh sách sử dụng Len ()

Trong phần giới thiệu, chúng tôi đã thấy rằng các yếu tố của danh sách có thể thuộc các loại dữ liệu khác nhau. Tuy nhiên, danh sách có thể có, lần lượt, danh sách là yếu tố của chúng. Ví dụ:

Chúng tôi sẽ sử dụng chức năng tích hợp

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 để có được độ dài:

list.count(element)
6

Đầu ra là:

list.count(element)
7

Có một vài điều quan trọng cần lưu ý trong ví dụ này. Thứ nhất, lần này danh sách trống không ảnh hưởng đến tổng số. Điều này là do trong mỗi vòng lặp, chúng tôi xem xét độ dài của danh sách lồng nhau hiện tại và vì độ dài của một danh sách trống là 0,

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
0 được tăng thêm 0.

Tuy nhiên, bạn có thể thấy rằng mỗi ký tự của chuỗi

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
4 đều được tính vào tổng số phần tử. Điều này là do hàm
# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 hoạt động trên chuỗi bằng cách trả về tất cả các ký tự của nó. Chúng ta có thể tránh tình huống này bằng cách sử dụng phương pháp tương tự như trong phần bên dưới, điều này cũng cho phép chúng ta có các yếu tố khác ngoài danh sách.

Một cách thú vị khác để làm điều tương tự như trong ví dụ trước là sử dụng danh sách hiểu:

list.count(element)
8

Dòng này về cơ bản làm hai điều. Đầu tiên, nó tạo ra một danh sách mới chứa độ dài của tất cả các yếu tố của danh sách ban đầu. Trong trường hợp của chúng tôi sẽ là

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
6. Thứ hai, nó gọi hàm
# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
7 bằng danh sách mới được tạo làm tham số, trả về tổng số của tất cả các yếu tố, cho chúng tôi kết quả mong muốn.

Danh sách lồng nhau

Danh sách lồng nhau là danh sách là các yếu tố của các danh sách khác. Có thể có nhiều cấp độ danh sách bên trong nhau:

list.count(element)
9

Chúng ta có thể thấy rằng

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
8 có trong danh sách
# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
9, do đó, có trong danh sách chính
The count of ('a', 'b') is: 2
The count of [3, 4] is: 1
0.

Một lần nữa, chúng tôi khởi tạo biến

# random list
random = ['a', ('a', 'b'), ('a', 'b'), [3, 4]]

# count element ('a', 'b') count = random.count(('a', 'b'))

# print count print("The count of ('a', 'b') is:", count)

# count element [3, 4] count = random.count([3, 4])

# print count print("The count of [3, 4] is:", count)
0 thành 0. Nếu chúng tôi muốn có được tổng số phần tử trong danh sách lồng nhau, trước tiên chúng tôi cần kiểm tra xem phần tử có phải là danh sách hay không. Nếu có, chúng tôi lặp bên trong danh sách và gọi lại chức năng cho đến khi không còn danh sách lồng nhau. Tất cả các yếu tố khác ngoài danh sách (số nguyên, chuỗi, v.v.) sẽ tăng số lượng lên 1.

Lưu ý rằng đây cũng là giải pháp cho các vấn đề gây ra bởi phương pháp trước đó.

Chúng ta hãy xem mã để đếm các yếu tố trong danh sách lồng nhau:

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
0

Chạy mã này sẽ cung cấp cho chúng tôi:

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
1

Lưu ý rằng chúng tôi đã sử dụng chức năng tích hợp

The count of ('a', 'b') is: 2
The count of [3, 4] is: 1
2 để kiểm tra xem đối số đầu tiên có phải là một thể hiện của lớp được đưa ra làm đối số thứ hai không. Trong chức năng ở trên, nó kiểm tra xem phần tử là một danh sách.

Phần tử đầu tiên

The count of ('a', 'b') is: 2
The count of [3, 4] is: 1
3 là một số nguyên, do đó, hàm nhảy vào khối
The count of ('a', 'b') is: 2
The count of [3, 4] is: 1
4 và tăng số lượng lên 1. Khi chúng ta đến
The count of ('a', 'b') is: 2
The count of [3, 4] is: 1
5, hàm nhận ra danh sách và đệ quy đi qua nó để kiểm tra các danh sách khác.

Sự kết luận

Chúng tôi đã thấy rằng theo loại danh sách chúng tôi có, có nhiều cách khác nhau để có được số lượng các yếu tố.

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 chắc chắn là chức năng nhanh nhất và đơn giản nhất nếu chúng ta có danh sách phẳng.

Với danh sách danh sách và danh sách lồng nhau,

# vowels list
vowels = ['a', 'e', 'i', 'o', 'i', 'u']

# count element 'i' count = vowels.count('i')

# print count print('The count of i is:', count)

# count element 'p' count = vowels.count('p')

# print count print('The count of p is:', count)
8 sẽ không đếm các yếu tố trong danh sách. Để làm điều đó, chúng ta cần lặp qua toàn bộ danh sách.

Làm thế nào để bạn đếm nhiều mục trong danh sách Python?

Nếu bạn muốn đếm nhiều mục trong danh sách, bạn có thể gọi Count () trong một vòng lặp.Tuy nhiên, cách tiếp cận này đòi hỏi một đường chuyền riêng biệt trong danh sách cho mỗi cuộc gọi đếm ();mà có thể là thảm họa cho hiệu suất.Thay vào đó, sử dụng phương thức couter () từ các bộ sưu tập lớp.call count() in a loop. This approach, however, requires a separate pass over the list for every count() call; which can be catastrophic for performance. Use couter() method from class collections , instead.