Autor Tema: Matrices Asociativas HashMaps en java equivalencia Crear Maps en Python dict  (Leído 3294 veces)

reinstein

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Tengo dos clases en java que muestran el tema de matrices asociativas y quiero implementarlo en python... he estado intentando hacerlo con diccionarios en python pero no encuentro la logica... ayuda... es mi primera participacion en este blog saludos...

aqui les muestro el codigo en java que hace referencia a las matrices asociativas en java...  ¿Como seria en python?

Código: [Seleccionar]
import java.util.*;
import java.io.*;
  class Leer {
    public static String dato(){
    String sDato="";
    try{
        //Definir un flujo de caracteres de entrada: flujoE
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader flujoE = new BufferedReader(isr);
    //Leer. La entrada finaliza al pulsar la tecla Entrar...
    sDato = flujoE.readLine();
    }catch(IOException e){
        System.err.println("Error: "+e.getMessage());
    }
    return sDato;// devolver el dato tecleado
    }//fin del metodo dato

    public static float datoFloat(){
    try{
        return Float.parseFloat(dato());
    }catch(NumberFormatException e){
            return Float.NaN;
    }//fin de catch
    }//fin del metodo datoFloat
}//fin de la clase


Código: [Seleccionar]
import java.util.HashMap;
import java.util.Set;
import java.util.Map;
import java.util.Iterator;

public class Histograma {   
    /* Histograna */

  public static void main(String[] args)
  {
    HashMap<Float, Integer> alumno = new  HashMap<Float, Integer>();
   
    System.out.println("Escriba los pesos de los alumnos.\n" +
            "Para terminar escriba \"fin\" y pulse [Entrar]:");
    float peso;
    int contador, i = 0;
    System.out.print("Alumno " + (i++) + ", peso: ");
    peso = Leer.datoFloat();
    while(!Float.isNaN(peso))
    {
      if (peso < 10 || peso > 100)
        // Si se introduce un peso no válido:
        System.out.println("Error: el peso no puede ser menor que 10 ni mayor que 100");
      else
      {
        contador = 0;
        if (alumno.containsKey(peso)){
            contador = alumno.get(peso);
        }//fin del if
            alumno.put(peso, ++contador);
       
      }//fin del else
      System.out.print("Alumno " + (i++) + ", peso: ");
      peso = Leer.datoFloat();
    }//fin del while


    System.out.println("\nPeso  Número de alumnos\n" +
                       "-----------------------");
    Set<Map.Entry<Float, Integer>> a = alumno.entrySet();
    Iterator it = a.iterator();
    Map.Entry<Float, Integer> elem;
    while (it.hasNext())
    {
      elem = (Map.Entry<Float, Integer>)it.next();
      System.out.println(elem.getKey() + "   " + elem.getValue());
    }//fin del while
    }//fin del metodo main
}//fin de la clase
« Última modificación: 30 de Octubre 2015, 09:23 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola para implementar maps en Python debes usar diccionarios (ver tipo dict https://docs.python.org/2/library/stdtypes.html#dict)

Ejemplo definición en java:

Código: [Seleccionar]
HashMap<String,String> streetno=new HashMap<String,String>();
   streetno.put("1", "Sachin Tendulkar");
   streetno.put("2", "Dravid");
   streetno.put("3","Sehwag");
   streetno.put("4","Laxman");
   streetno.put("5","Kohli")

Equivalencia en python:

Código: [Seleccionar]
streetno = {"1": "Sachine Tendulkar",
            "2": "Dravid",
            "3": "Sehwag",
            "4": "Laxman",
            "5": "Kohli" }

También se puede usar: streetno = dict({"1":"Sachine Tendulkar", "2":"Dravid"})

O también se puede usar: streetno = {}
streetno["1"] = "Sachine Tendulkar"

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".