Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đếm Số Phần Tử Trong Giá Trị Dictionary Là List (Count Number of Items in a Dictionary Value that is a List) trong Python


Ta có một Dictionary mà giá trị từ cặp key-value chính là một list. Trong bài này ta sẽ xem cách đếm số phần tử trong list này hiện diện làm giá trị trong dictionary.

Với isinstance

Ta dùng isinstance để kiểm tra xem giá trị của dictionary có phải list không. Sau đó tăng biến count khi isinstance trả về true.

Ví dụ

# định nghĩa dictionary Adict = {'Days': ["Mon","Tue","wed","Thu"],     'time': "2 pm",     'Subjects':["Phy","Chem","Maths","Bio"]    } print("Given dictionary:\n",Adict) count = 0 # sử dụng isinstance for x in Adict:     if isinstance(Adict[x], list):       count += len(Adict[x]) print("The number of elements in lists: \n",count)

Đầu ra

Chạy mã trên cho kết quả sau:

Given dictionary: {'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']} The number of elements in lists: 8

Với items()

Dùng items() ta lặp qua từng phần tử dictionary và áp dụng isinstance để tìm giá trị là list.

Ví dụ

# định nghĩa dictionary Adict = {'Days': ["Mon","Tue","wed","Thu"],     'time': "2 pm",     'Subjects':["Phy","Chem","Maths","Bio"]    } print("Given dictionary:\n",Adict) count = 0 # sử dụng .items() for key, value in Adict.items():     if isinstance(value, list):       count += len(value) print("The number of elements in lists: \n",count)

Đầu ra

Chạy mã trên cho kết quả sau:

Given dictionary: {'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']} The number of elements in lists: 8

Với enumerate

Hàm enumerate cũng mở rộng và liệt kê các item của dictionary. Ta áp dụng isinstance để tìm giá trị là list.

Ví dụ

# định nghĩa dictionary Adict = {'Days': ["Mon","Tue","wed","Thu"],     'time': "2 pm",     'Subjects':["Phy","Chem","Maths","Bio"]    } print("Given dictionary:\n",Adict) count = 0 for x in enumerate(Adict.items()):     if isinstance(x[1][1], list):       count += len(x[1][1]) print(count) print("The number of elements in lists: \n",count)

Đầu ra

Chạy mã trên cho kết quả sau:

Given dictionary: {'Days': ['Mon', 'Tue', 'wed', 'Thu'], 'time': '2 pm', 'Subjects': ['Phy', 'Chem', 'Maths', 'Bio']} 8 The number of elements in lists: 8