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