/ / Problemas com valores de retorno no dicionário python [closed] - python, dictionary

Problemas com os valores de retorno no dicionário python [closed] - python, dictionary

Eu converti uma lista para um contador. O problema ocorre quando tento retornar meus valores. eu tentei counter.values() mas eu recebo minha lista original em vez da contagem de itens. Alguma sugestão?

a=[1,1,2,1,2,3,4,5,66,44,3]
c=Counter(a)
print(c.values())

saída: [1,1,2,1,2,3,4,5,66,44,3]

Respostas:

1 para resposta № 1

keys() retorna os itens da sua lista original. values() retorna as contagens associadas. items() retorna pares de valor-chave (contagem de chaves).


0 para resposta № 2
>>> from collections import Counter
>>> a=[1,1,2,1,2,3,4,5,66,44,3]
>>> c=Counter(a)
>>>
>>> c.keys() # elements of the original list taken once
dict_keys([1, 66, 3, 4, 5, 44, 2])
>>>
>>> c.values() # occurrences of each element
dict_values([3, 1, 2, 1, 1, 1, 2])
>>>
>>> c.items() # list of tuples (element, occurrence)
dict_items([(1, 3), (66, 1), (3, 2), (4, 1), (5, 1), (44, 1), (2, 2)])
>>>
>>> c[66] # occurrences of element 66
1

0 para resposta № 3

Eu concordo com OP que c.values ​​() deve retornar a contagem e não o item em si. Eu acredito que é o comportamento esperado. Qualquer outra coisa é provável que seja um bug. Verifique o bugdb do Python ou tente uma versão mais recente do Python.