Python | Count number of items in a dictionary value that is a list

04 Jun, 2022
In Python, dictionary is a collection which is unordered, changeable and indexed. Dictionaries are written with curly brackets, and they have keys and values. It is used to hash a particular key. A dictionary has multiple key:value pairs. There can be multiple pairs where value corresponding to a key is a list. To check that the value is a list or not we use the isinstance() method which is inbuilt in Python. isinstance() method takes two parameters:
object - object to be checked
classinfo - class, type, or tuple of classes and types
It return a boolean whether the object is an instance of the given class or not. Let’s discuss different methods to count number of items in a dictionary value that is a list. Method #1 Using in operator 
Python3
# Python program to count number of items# in a dictionary value that is a list.def main():     # defining the dictionary    d = {'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9],        'B' : 34,        'C' : 12,        'D' : [7, 8, 9, 6, 4] }     # using the in operator    count = 0    for x in d:        if isinstance(d[x], list):            count += len(d[x])    print(count) # Calling Main   if __name__ == '__main__':    main()
14
  Method #2: Using list comprehension 
Python3
# Python program to count number of items# in a dictionary value that is a list.def main():     # defining the dictionary    d = {'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9],        'B' : 34,        'C' : 12,        'D' : [7, 8, 9, 6, 4] }     # using list comprehension    print(sum([len(d[x]) for x in d if isinstance(d[x], list)]))     if __name__ == '__main__':    main()
14
  Method #3: Using dict.items() 
Python3
# Python program to count number of items# in a dictionary value that is a list.def main():     # defining the dictionary    d = { 'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9],        'B' : 34,        'C' : 12,        'D' : [7, 8, 9, 6, 4] }     # using dict.items()    count = 0    for key, value in d.items():        if isinstance(value, list):              count += len(value)    print(count)     if __name__ == '__main__':    main()
14
  Method #4: Using enumerate() 
Python3
# Python program to count number of items# in a dictionary value that is a list.def main():     # defining the dictionary    d = {'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9],        'B' : 34,        'C' : 12,        'D' : [7, 8, 9, 6, 4] }     # using enumerate()    count = 0    for x in enumerate(d.items()):         # enumerate function returns a tuple in the form        # (index, (key, value)) it is a nested tuple        # for accessing the value we do indexing x[1][1]        if isinstance(x[1][1], list):            count += len(x[1][1])    print(count) if __name__ == '__main__':    main()
14
Method#5: Using values(),find() and type().
Python3
# Python program to count number of items# in a dictionary value that is a list.def main():     # defining the dictionary    d = {'A' : [1, 2, 3, 4, 5, 6, 7, 8, 9],        'B' : 34,        'C' : 12,        'D' : [7, 8, 9, 6, 4] }    # values() - to fetch values of dictionary    count = 0         for x in list(d.values()):               # type() - returns type of a variable        type1=str(type(x))                 # find() - returns position of a specified value if found else returns -1        if(type1.find('list')!=-1):            count+=len(x)                 print(count) if __name__ == '__main__':    main()
14
shubham_singh
kogantibhavya
Picked
Python dictionary-programs
python-dict
Python
Python Programs
python-dict
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Different ways to create Pandas Dataframe
Enumerate() in Python
Read a file line by line in Python
Python String | replace()
Python program to convert a list to string
Defaultdict in Python
Python | Convert a list to dictionary
Python | Convert string dictionary to dictionary
Python Program for Fibonacci numbers