Calcular la cantidad de valores en diccionario

Buenas que tal, aqui les dejo una consulta , les staria supr agradecido si alguiemn pude ayudarme, necesito contar cuantos valores tine cada key en el siguint diccionario, como veran en el siguiete print use ln pero me calcula el total d elementos del diccionario y se lo asigna a cada key, ees decir necesitaria que el resultado sea Juan: 2, Pedro:1, Mark:1.les dejo a continuacion l codigo por si alguin quier modificarlo, muchas gracias

lista_de_seguidores= {“Juan”:[“Jhon”,“gustavo”], “Pedro”:[“gustavo”],“Mark”:[“alicia”]}

for clave, valor in lista_de_seguidores.items():

    valor= sum(map(len, lista_de_seguidores.values()))
    


    print(clave,valor)

Hola,

Podes probar con este código, que te imprime lo que necesitas:

lista_de_seguidores= {“Juan”:[“Jhon”,“gustavo”], “Pedro”:[“gustavo”],“Mark”:[“alicia”]}

for key, value in lista_de_seguidores.items():
print(key + “:”, len([item for item in value if item]))

Siempre y cuando los valores de cada clave del diccionario sean listas, te debería funcionar.

Slds.

1 me gusta

Hola, yo haria un list comprehension.

>>> lista_de_seguidores= {'Juan':['Jhon','gustavo'], 'Pedro':['gustavo'],'Mark':['alicia']}
>>> import six
>>> [(item[0], len(item[1])) for item in six.iteritems(lista_de_seguidores)]
[('Juan', 2), ('Pedro', 1), ('Mark', 1)]
>>> 

Saludos,

Javier.
1 me gusta

No hace falta usar six, se puede preguntar los items directamente al diccionario. También el for permite poner más de un nombre objetivo, entonces luego es más expresivo:

>>> lista_de_seguidores = {'Juan':['Jhon','gustavo'], 'Pedro':['gustavo'],'Mark':['alicia']}
>>> [(nombre, len(seguidores)) for nombre, seguidores in lista_de_seguidores.items()]
[('Juan', 2), ('Pedro', 1), ('Mark', 1)]
1 me gusta