Computer >> Máy Tính >  >> Lập trình >> Python

Tìm tất cả các phần tử được đếm trong danh sách bằng Python

Nhiều khi chúng ta cần đếm các phần tử có trong danh sách để xử lý dữ liệu. Nhưng có thể có những trường hợp danh sách lồng nhau và việc đếm có thể không diễn ra ngay lập tức. Trong bài viết này, chúng ta sẽ xem cách xử lý những phức tạp này khi đếm số phần tử trong danh sách.

Với vòng lặp For

Trong cách tiếp cận này, chúng tôi sử dụng hai vòng lặp for để đi qua cấu trúc lồng nhau của danh sách. Trong chương trình dưới đây, chúng tôi có danh sách lồng nhau trong đó các phần tử bên trong có số lượng phần tử khác nhau bên trong chúng. Chúng tôi cũng áp dụng hàm len () để tính độ dài của danh sách được làm phẳng.

Ví dụ

listA = [[2,9, 6], [5, 'a'], [0], [12,'c', 9, 3]]

# Given list
print("Given list : ",listA)

res = len([x for y in listA for x in y])

# print result
print("Total count of elements : " ,res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list : [[2, 9, 6], [5, 'a'], [0], [12, 'c', 9, 3]]
Total count of elements : 10

Với Chuỗi

Trong cách tiếp cận này, chúng tôi áp dụng phương pháp chuỗi đưa ra tất cả các phần tử bên trong danh sách bằng cách làm phẳng chúng và sau đó chuyển nó thành một danh sách. Cuối cùng, hãy áp dụng hàm len () để tìm thấy số lượng các phần tử trong danh sách.

Ví dụ

from itertools import chain
listA = [[2,9, 6], [5, 'a'], [0], [12,'c', 9, 3]]

# Given list
print("Given list : ",listA)

res = len(list(chain(*listA)))

# print result
print("Total count of elements : " ,res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list : [[2, 9, 6], [5, 'a'], [0], [12, 'c', 9, 3]]
Total count of elements : 10