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

Đếm số mục trong một giá trị từ điển là một danh sách bằng Python

Chúng tôi được cung cấp một Từ điển trong đó các giá trị từ cặp giá trị khóa chính nó là một danh sách. Trong bài viết này, chúng ta sẽ xem cách đếm số lượng mục trong danh sách này được hiển thị dưới dạng giá trị trong từ điển.

With isinstance

Tiếng Hindi giả sử chúng ta sử dụng hàm isinstance để tìm xem giá trị của từ điển có phải là một danh sách hay không. Sau đó, chúng tôi tăng một biến đếm bất cứ khi nào isinstance trả về true.

Ví dụ

# defining the dictionary
Adict = {'Days': ["Mon","Tue","wed","Thu"],
   'time': "2 pm",
   'Subjects':["Phy","Chem","Maths","Bio"]
   }
print("Given dictionary:\n",Adict)
count = 0
# using 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 đoạn mã trên cho chúng ta 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 các mục ()

Những mục () nào chúng tôi lặp qua từng phần tử của từ điển và áp dụng hàm isinstance để tìm xem nó có phải là một danh sách hay không.

Ví dụ

# defining the dictionary
Adict = {'Days': ["Mon","Tue","wed","Thu"],
   'time': "2 pm",
   'Subjects':["Phy","Chem","Maths","Bio"]
   }
print("Given dictionary:\n",Adict)
count = 0
# using .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 đoạn mã trên cho chúng ta 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 liệt kê

Hàm liệt kê cũng mở rộng và liệt kê các mục của từ điển. Chúng tôi áp dụng ví dụ để tìm ra các giá trị là danh sách.

Ví dụ

# defining the 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 đoạn mã trên cho chúng ta 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