Skip to content
Related Articles

Related Articles

How to find length of dictionary values?
  • Last Updated : 10 May, 2020

In Python, Dictionary is a collection of unordered data values. Dictionaries are also changeable and indexed. Dictionary holds key:value pair and they are written inside curly brackets. Each key:value pair maps the key to its associated value.

Here we use isinstance() method to check the type of the value whether it is a list, int, str, tuple, etc. isinstance() method which is an inbuilt method in Python. It returns a boolean if the object passed is an instance of the given class or not.

Let’s discuss different methods to find the length of dictionary values.

Note: In the below methods the length of the string value is takes as one.

Method #1 Using in operator



Example: 1

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the 
# length of dictionary values
  
  
def main():
      
    # Defining the dictionary
    dict1 = {'a':[1, 2, 3],
             'b'πŸ™1, 2, 3),
             'c':5,
             'd':"nopqrs",
             'e':["A", "B", "C"]}
  
    # Initialize count 
    count = 0
  
    # using in operator 
    for k in dict1:
          
        # Check the type of value 
        # is int or not
        if isinstance(dict1[k], int):
            count += 1
  
        # Check the type of value 
        # is str or not
        elif isinstance(dict1[k], str):
            count += 1
        else:
            count += len(dict1[k])
              
    print("The total length of value is:", count)
      
  
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The total length of value is: 11

Example :2

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the
# length of dictionary values
  
def main():
      
    # Defining the dictionary
    dict1 = {'A':"abcd",
             'B':set([1, 2, 3]), 
             'C'πŸ™12, "number"), 
             'D':[1, 2, 4, 5, 5, 5]}
  
    # Create a empty dictionary
    dict2 = {}
  
    # using in operator
    for k in dict1:
          
        # Check the type of value
        # is int or not
        if isinstance(dict1[k], int):
            dict2[k] = 1
  
        # Check the type of value 
        # is str or not
        elif isinstance(dict1[k], str):
            dict2[k] = 1
              
        else:
            dict2[k] = len(dict1[k])
              
    print("The length of values associated\
    with their keys are:", dict2)
    print("The length of value associated\
    with key 'B' is:", dict2['B'])
  
      
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The length of values associated with their keys are: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6}
The length of value associated with key ‘B’ is: 3

Method #2 Using list comprehension

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the 
# length of dictionary values
  
  
def main():
      
    # Defining the dictionary
    dict1 = {'a':[1, 2, 3],
           'b'πŸ™1, 2, 3),
           'c':5,
           'd':"nopqrs",
           'e':["A", "B", "C"]}
  
    # using list comprehension
    count = sum([1 if isinstance(dict1[k], (str, int))
                 else len(dict1[k]) 
                 for k in dict1])
      
    print("The total length of values is:", count)
  
      
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The total length of values is: 11

Method #3 Using dictionary Comprehension



filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the 
# length of dictionary values
  
  
def main():
      
    # Defining the dictionary
    dict1 = {'A': "abcd",
             'B': set([1, 2, 3]),
             'C': (12, "number"),
             'D': [1, 2, 4, 5, 5, 5]}
  
    # using dictionary comprehension
    dict2 = {k:1 if isinstance(dict1[k], (str, int)) 
             else len(dict1[k])
             for k in dict1}
      
    print("The length of values associated \
    with their keys are:", dict2)
    print("The length of value associated \
    with key 'B' is:", dict2['B'])
  
      
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The length of values associated with their keys are: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6}
The length of value associated with key ‘B’ is: 3

Method #4 Using dict.items()

Example :1

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the
# length of dictionary values
  
def main():
    # Defining the dictionary
    dict1 = {'a':[1, 2, 3], 
             'b'πŸ™1, 2, 3), 
             'c':5,
             'd':"nopqrs",
             'e':["A", "B", "C"]}
  
    # Initialize count 
    count = 0
  
    # using dict.items()
    for key, val in dict1.items():
          
        # Check the type of value 
        # is int or not
        if isinstance(val, int):
            count += 1
  
        # Check the type of value
        # is str or not
        elif isinstance(val, str):
            count += 1
              
        else:
            count += len(val)
    print("The total length of value is:", count)
  
      
# Driver code
if __name__ == '__main__':
    main()

chevron_right


Output:

The total length of values is: 11

Example :2

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the
# length of dictionary values
  
def main():
    # Defining the dictionary
    dict1 = {'A': "abcd"
             'B': set([1, 2, 3]), 
             'C': (12, "number"),
             'D': [1, 2, 4, 5, 5, 5]}
  
    # Create a empty dictionary
    dict2 = {}
  
    # using dict.items()
    for key, val in dict1.items():
          
        # Check the type of value 
        # is int or not
        if isinstance(val, int):
            dict2[key] = 1
  
        # Check the type of value
        # is str or not
        elif isinstance(val, str):
            dict2[key] = 1
              
        else:
            dict2[key] = len(val)
  
    print("The length of values associated \
    with their keys are:", dict2)
      
    print("The length of value associated \
    with key 'B' is:", dict2['B'])
  
  
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The length of values associated with their keys are: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6}
The length of value associated with key ‘B’ is: 3

Method #5 Using enumerate()

Example :1

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the
# length of dictionary values
  
def main():
      
    # Defining the dictionary
    dict1 = {'a':[1, 2, 3], 
             'b'πŸ™1, 2, 3),
             'c':5,
             'd':"nopqrs",
             'e':["A", "B", "C"]}
  
    # Initialize count 
    count = 0
  
    # using enumerate()
    for k in enumerate(dict1.items()):
          
        # Check the type of value 
        # is int or not
        if isinstance(k[1][1], int):
            count += 1
  
        # Check the type of value 
        # is str or not
        elif isinstance(k[1][1], str):
            count += 1
              
        else:
            count += len(k[1][1])
              
    print("The total length of value is:", count)
  
      
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The total length of value is: 11

Example :2

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to find the
# length of dictionary values
  
def main():
      
    # Defining the dictionary
    dict1 = {'A': "abcd",
             'B': set([1, 2, 3]), 
             'C': (12, "number"), 
             'D': [1, 2, 4, 5, 5, 5]}
  
    # Create a empty dictionary
    dict2 = {}
  
    # using enumerate()
    for k in enumerate(dict1.items()):
          
        # Check the type of value 
        # is int or not
        if isinstance(k[1][1], int):
            dict2[k[1][0]] = 1
  
        # Check the type of value 
        # is str or not
        elif isinstance(k[1][1], str):
            dict2[k[1][0]] = 1
              
        else:
            dict2[k[1][0]] = len(k[1][1])
  
    print("The length of values associated\
    with their keys are:", dict2)
      
    print("The length of value associated \
    with key 'B' is:", dict2['B'])
      
      
# Driver Code
if __name__ == '__main__':
    main()

chevron_right


Output:

The length of values associated with their keys are: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6}
The length of value associated with key ‘B’ is: 3

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :