Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

218
Visualizações
Devolver el valor máximo de un diccionario

Quiero devolver el valor máximo y su clave de un diccionario, y sé que algo como lo siguiente debería funcionar

 max(list.iteritems(), key=operator.itemgetter(1))

Sin embargo, en caso de que el valor máximo en un diccionario sea 6 y suceda que varias claves tengan el mismo valor... ¡siempre devolverá la primera! ¿Cómo puedo hacer que devuelva todas las claves que tienen el número máximo como valores junto con el valor? Aquí hay un ejemplo de un diccionario con el mismo valor máximo:

 dic={0: 1.4984074067880424, 1: 1.0984074067880423, 2: 1.8984074067880425, 3: 2.2984074067880425, 4: 2.2984074067880425}
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

La solución usando la lista de comprensión:

 dic={0: 1.4984074067880424, 1: 1.0984074067880423, 2: 1.8984074067880425, 3: 2.2984074067880425, 4: 2.2984074067880425} max_value = max(dic.values()) # maximum value max_keys = [k for k, v in dic.items() if v == max_value] # getting all keys containing the `maximum` print(max_value, max_keys)

La salida:

 2.2984074067880425 [3, 4]
over 4 years ago · Santiago Trujillo Relatório

0

Primero puede determinar el máximo con:

 maximum = max(dic.values())

y luego filter según el valor máximo:

 result = filter(lambda x:x[1] == maximum,dic.items())

Ejemplo en la línea de comando:

 $ python2 Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> dic={0: 1.4984074067880424, 1: 1.0984074067880423, 2: 1.8984074067880425, 3: 2.2984074067880425, 4: 2.2984074067880425} >>> maximum=max(dic.values()) >>> maximum 2.2984074067880425 >>> result = filter(lambda x:x[1] == maximum,dic.items()) >>> result [(3, 2.2984074067880425), (4, 2.2984074067880425)]

Dado que desea presentar la lista de claves que son una buena lista y el valor, puede definir una función:

 def maximum_keys(dic): maximum = max(dic.values()) keys = filter(lambda x:dic[x] == maximum,dic.keys()) return keys,maximum

que devuelve una tupla que contiene la lista de claves y el valor máximo:

 >>> maximum_keys(dic) ([3, 4], 2.2984074067880425)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda