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

Đếm danh sách con duy nhất trong danh sách bằng Python

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}