Bueno, entonces puedes seguir las indicaciones que te dejé para ese caso concreto (o algo similar).
On Mon, Jul 20, 2020 at 11:19 AM Lemarchand Barker <lemarchand8...@gmail.com> wrote: > Lo del diccionario es algo que lo pensé, tendría que darle más forma a eso. > A ver quiero hacer lo siguiente: > > lugar = input("Ingrese el nombre del país: ") > Ingresa: Argentina > > Entonces en vez de mostrar las 29 veces que aparece el país que > muestre sólo una vez, porque en este caso no me interesa ver los datos > almacenados y correspondientes al país, sino sólo saber si está o no y > acá me gustaría enganchar con el diccionario o no se si tiene sentido. > Es decir, primero saber si el país se encuentra y si está, entonces > después veo de buscar cuál es su código correspondiente y a partir de > eso armar si es posible un diccionario. > Espero que ahora si se haya entendido bien, sólo necesito saber si > está el país, si ingreso Finlandia, saber si está o no y así con el > resto de países. > Gracias, saludos > > El lun., 20 jul. 2020 a las 18:09, Ricardo Cárdenes > (<ricardo.carde...@gmail.com>) escribió: > > > > De nuevo, depende de lo que quieras mostrar, de forma más detallada. > Dices: > > > > Entonces lo que quiero hacer es, ingresar el nombre de un país, pero que > no lo imprima por pantalla las 29 veces que aparece, sino solo saber si ese > país que ingresé está almacenado en el csv > > > > > > Tendrías que clarificar lo que estás imprimiendo. Por ejemplo: > > > > ¿Sólo quieres saber si se incluyen datos del país en cuestión, pero no > imprimirlos? ¡Bueno, entonces no los imprimas! Imprime sólo "sí, está", o > cualquier otra cosa que tú quieras. Sólo una vez. Entiendo que estás > iterando sobre la lista de datos e imprimiendo "Argentina" cada vez que > aparece el código. En lugar de eso, podrías detener la búsqueda (con un > break, probablemente) cuando encuentres la primera coincidencia. > > ¿Quieres mostrar los datos, pero no repetir el código en cada fila? ¡No > lo hagas! Muestra sólo las columnas que te interesan. > > > > Para la primera, por ejemplo, podrías incluso mantener una lista > separada (o casi mejor, un set) con los códigos de los países que aparecen. > Entonces comprobar si el país está incluido o no es trivial. > > > > O podrías combinar ambos puntos: usar un diccionario, indizado por el > código del país, cuyos valores fueran listas de los datos de los > respectivos países (un par valor-lista para cada código de país). Y como el > dato del país ya está en el índice, no tienes que repetirlo en los datos > almacenados. Eso te permitiría tener acceso inmediato a los datos > exclusivos a un país. > > > > Claro que esto último sólo es útil si todas tus búsquedas van indizadas > por país. > > > > No sé, como te digo, nos vas dando información poquito a poquito de lo > que quieres hacer y eso deja demasiadas cosas abiertas. > > > > On Mon, Jul 20, 2020 at 10:07 AM lemarchand8679 < > lemarchand8...@gmail.com> wrote: > >> > >> Gracias Ricardi, ahí voy. > >> Argentina y la mayoría de los lugares se repite 29 veces (filas). Cada > fila contiene información distinta, por lo que no hay datos repetidos. > >> Entonces lo que quiero hacer es, ingresar el nombre de un país, pero > que no lo imprima por pantalla las 29 veces que aparece, sino solo saber si > ese país que ingresé está almacenado en el csv. No quiero modificar, borrar > o añadir algo, sólo saber si un país está o no en la lista y en caso de que > así sea, que lo muestre pero no todas las veces que se repite. > >> Espero haberme explicado mejor, gracias > >> > >> > >> > >> Enviado desde mi smartphone Samsung Galaxy. > >> > >> > >> -------- Mensaje original -------- > >> De: Ricardo Cárdenes <ricardo.carde...@gmail.com> > >> Fecha: 20/7/20 16:59 (GMT-03:00) > >> A: La lista de python en castellano <python-es@python.org> > >> Asunto: Re: [Python-es] [Consulta] Ordenar elementos de una lista > >> > >> No hay una respuesta única. Eso depende de tu problema en concreto. > >> > >> Por ejemplo, dices que el número de área está repetido... ¿Significa > eso que el resto de valores también están repetidos? Es decir, ¿la fila con > los datos de Argentina aparece 29 veces? En ese caso entiendo que lo que > quieres es eliminar duplicados. Eso es trivial: simplemente, mantén algún > tipo de registro de los datos que vas leyendo del CSV (un set almacenando > los códigos es perfecto para esto) y no añadas a la lista las filas que ya > "viste". > >> > >> Si lo que quieres es consolidar datos (cada fila con el mismo código > tiene datos diferentes, que quieres sumar, o hacer media, o...) entonces la > respuesta va a ser diferente. > >> > >> Necesitas explicar de forma clara qué es lo que pretendes y entonces se > te puede dar una respuesta. > >> > >> On Mon, Jul 20, 2020 at 9:36 AM Lemarchand Barker < > lemarchand8...@gmail.com> wrote: > >>> > >>> Hola, esta vez mi pregunta es más simple, sigo jugando el archivo csv > >>> y para seguir practicando, lo que estoy haciendo es lo siguiente. > >>> Definí una lista la cual la dejé vacía, y a partir del csv guardé en > >>> la lista 3 valores: Area, Population y Value. Le cambié los nombres > >>> porque eran muy largos y para tratar de evitar errores en la búsqueda > >>> luego. > >>> Una vez añadidos estos 3 datos a la lista, los imprimía por ejemplo > >>> los valores contenidos en Area y vi que los datos estaban repetidos. > >>> Por ejemplo, en mi caso soy de Argentina y el código que le > >>> corresponde a mi país es el 32 y mediante el for, recorrí la lista y > >>> vi que ese número se repite 29 veces y así con la mayoría de los > >>> países del listado. Ahora mi pregunta es la siguiente, hay alguna > >>> forma de listar los nombres de los países pero que figuren solo una > >>> vez y no las 29 o las x cantidad de veces que figuren en el listado? > >>> Porque como dije antes, Argentina tiene el número 32 pero si imprimo > >>> el listado me aparece las 29 veces que figura en el csv. > >>> Mi idea es por ejemplo imprimir el listado de países, pero sin la > repetición. > >>> Muchas gracias, saludos > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es@python.org > >>> https://mail.python.org/mailman/listinfo/python-es > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es@python.org > >> https://mail.python.org/mailman/listinfo/python-es > > > > _______________________________________________ > > Python-es mailing list > > Python-es@python.org > > https://mail.python.org/mailman/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es