Một danh sách Python cũng có thể chứa danh sách con. Bản thân danh sách con là một danh sách được lồng trong một danh sách lớn hơn. Trong bài viết này, chúng ta sẽ xem cách đếm số lượng danh sách con duy nhất trong một danh sách nhất định.
Sử dụng Bộ đếm
Bộ đếm là một lớp con của Từ điển và được sử dụng để theo dõi các phần tử và số lượng của chúng. Nó cũng được coi là một tập hợp không có thứ tự trong đó các phần tử được lưu trữ dưới dạng các khóa Dict và số lượng của chúng dưới dạng giá trị dict. Vì vậy, trong ví dụ dưới đây, chúng tôi trực tiếp lấy một danh sách có các danh sách phụ.
Ví dụ
from collections import Counter # Given List Alist = [['Mon'],['Tue','Wed'],['Tue','Wed']] print(Counter(str(elem) for elem in Alist))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Counter({"['Tue', 'Wed']": 2, "['Mon']": 1})
Với append ()
Chúng ta cũng có thể lặp qua các phần tử của danh sách và đặt nó dưới dạng tuple và sau đó tiếp tục thêm 1 cho mỗi lần xuất hiện của cùng một phần tử. Cuối cùng, in danh sách mới hiển thị danh sách con dưới dạng khóa và số lượng của chúng dưới dạng giá trị.
Ví dụ
# Given List Alist = [['Mon'],['Tue','Wed'],['Tue','Wed'], ['Tue','Wed']] # Initialize list NewList = {} # Use Append through Iteration for elem in Alist: NewList.setdefault(tuple(elem), list()).append(1) for k, v in NewList.items(): NewList[k] = sum(v) # Print Result print(NewList)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
{('Mon',): 1, ('Tue', 'Wed'): 3}