Python | Cuente el número de elementos en un valor de diccionario que es una lista

En Python, el diccionario es una colección desordenada, modificable e indexada. Los diccionarios se escriben con corchetes y tienen claves y valores. Se utiliza para codificar una clave en particular. Un diccionario tiene varios pares clave:valor. Puede haber múltiples pares donde el valor correspondiente a una clave es una lista. Para verificar si el valor es una lista o no, usamos el método isinstance() que está incorporado en Python. El método isinstance() toma dos parámetros:

object - object to be checked
classinfo - class, type, or tuple of classes and types

Devuelve un booleano si el objeto es una instancia de la clase dada o no. Analicemos diferentes métodos para contar el número de elementos en un valor de diccionario que es una lista. Método #1 Usando el operador in 

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()
Producción

14

  Método #2: Usar la comprensión de listas 

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()
Producción

14

  Método #3: Usar 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()
Producción

14

  Método #4: Usar 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()
Producción

14

Método #5: Usar valores(), buscar() y escribir().

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()
Producción

14

Publicación traducida automáticamente

Artículo escrito por BhushanBorole 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 *