¿Cómo encontrar la longitud de los valores del diccionario?

En Python, Dictionary es una colección de valores de datos desordenados. Los diccionarios también son modificables e indexados. El diccionario contiene el par clave:valor y se escriben entre corchetes. Cada par clave:valor asigna la clave a su valor asociado.

Aquí usamos el método isinstance() para verificar el tipo de valor, ya sea un isinstance()método list, int, str, tuple, etc., que es un método incorporado en Python. Devuelve un booleano si el objeto pasado es una instancia de la clase dada o no.

Analicemos diferentes métodos para encontrar la longitud de los valores del diccionario.

Nota: En los métodos siguientes, la longitud del valor de la string se toma como uno.

Método #1 Usando el operador in

Ejemplo 1

# 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()

Producción:

The total length of value is: 11

Ejemplo :2

# 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()

Producción:

La longitud de los valores asociados con sus claves es: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6} La longitud del
valor asociado con la clave ‘B’ es: 3

Método #2 Usando la comprensión de listas

# 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()

Producción:

The total length of values is: 11

Método #3 Usando la comprensión del diccionario

# 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()

Producción:

La longitud de los valores asociados con sus claves es: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6} La longitud del
valor asociado con la clave ‘B’ es: 3

Método #4 Usando dict.items()

Ejemplo 1

# 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()

Producción:

The total length of values is: 11

Ejemplo :2

# 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()

Producción:

La longitud de los valores asociados con sus claves es: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6} La longitud del
valor asociado con la clave ‘B’ es: 3

Método #5 Usando enumerate()

Ejemplo 1

# 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()

Producción:

The total length of value is: 11

Ejemplo :2

# 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()

Producción:

La longitud de los valores asociados con sus claves es: {‘A’: 1, ‘B’: 3, ‘C’: 2, ‘D’: 6} La longitud del
valor asociado con la clave ‘B’ es: 3

Publicación traducida automáticamente

Artículo escrito por nishthagoel712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *