Título: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: El mas antiguo en 24 Noviembre 2022, 20:28 pm Citar 1. Escriba un programa en Python que acepte una lista de palabras y las agrupe por su letra inicial usando un diccionario (solución). Entrada: [ “mesa”, “móvil”, “barco”, “coche”, “avión”, “bandeja”, “casa”, “monitor”, “carretera”, “arco”] Salida: {“m”: [“mesa”, “móvil”, “monitor”], “b”: [“barco”, “bandeja”], “c”: [“coche”, “casa”, “carretera”], “a”: [“avión”, “arco”]} Código
Hola gente, ¿cómo están? Las consultas es ¿estoy bien encaminado, o lo harían de otra manera?, no desconozco que no está del todo bien porque logro poner una sola palabra por letra, pero bueno, ya lo lograré… Desde ya muchas gracias… Slds. Daniel ☕☕☕ Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: El mas antiguo en 25 Noviembre 2022, 02:23 am Bueno, parece funcionar, solo me queda que alguien me diga si hay
una manera mejor/distinta Código
Slds. Daniel ☕☕☕ Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: MCKSys Argentina en 25 Noviembre 2022, 03:45 am Hola!
Yo lo hice un poco diferente: Código
Saludos! PD: Perdón por quitar la ñ y tildes; pero mi IDE se queja! :xD Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: reymosquito en 25 Noviembre 2022, 04:53 am No sé si definir como mejor o peor, pero hay muchas formas de lograr eso:
Código
Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: El mas antiguo en 25 Noviembre 2022, 15:26 pm Bueno, voy a dividir la respuesta:
MCKSys Argentina gracias por el código, interesante me atrevo a pedirte un favor y es que me ayudes a hacerlo sin utilizar la lista abecedario, lo intente con chr(97) pero todavía no lo logro.- ========================================================= Rey, aprovecho para comentarte que el ej. de clase de este post lo guarde en un cuadrito para tenerlo como ej. principal, gracias… https://foro.elhacker.net/scripting/que_todos_los_entry_dentro_de_un_frame_sean_readonly_en_tkinter-t516282.0.html (https://foro.elhacker.net/scripting/que_todos_los_entry_dentro_de_un_frame_sean_readonly_en_tkinter-t516282.0.html) En cuanto a tu código está muy bien, pero es muy avanzado para mí, si bien no son tantas las líneas no logro entenderlo, lo voy a tener muy en cuenta, lo que ocurre es la primera vez que leo/práctico sobre diccionario en Python, siempre lo deje a un lado, pero llego el momento de aprender al respecto.- Slds. Daniel ☕☕☕ Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: MCKSys Argentina en 25 Noviembre 2022, 15:58 pm MCKSys Argentina gracias por el código, interesante me atrevo a pedirte un favor y es que me ayudes a hacerlo sin utilizar la lista abecedario, lo intente con chr(97) pero todavía no lo logro.- Hola! Si miras el código, verás que no usa la lista abecedario. Sólo la dejé para que sea parecido a tu código visualmente. Pero no se usa. Te explico lo que hace para que entiendas:
De esa forma, no necesitas "abecedario": las palabras son el abecedario. Quitando lo no usado quedaría: Código
Saludos! Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: reymosquito en 25 Noviembre 2022, 15:59 pm Daniel:
mil disculpas, me olvido cuando pongo un código que no tienen porque conocer los métodos. Código
x[0] es un slice(rebanada), o sea tomo la primer letra de la palabra, para no tener que hacer una lista con las letras, y sino está como clave en el diccionario: Código
setdefault es un método de los diccionarios, verifica si una clave existe y sino está la agrega, con un valor deterninado en este caso una lista con la palabra. en caso contrario: Código
asigno a la clave un nuevo valor que es agregar la palabra. sonará raro pero lo hice así porque me pareció más entendible, porque en realidad en mis códigos lo haría con menos líneas: Código
en donde es lo mismo sin necesidad de los condicionales. Título: Re: lista de palabras agrupada por su letra inicial(diccionario) Publicado por: El mas antiguo en 26 Noviembre 2022, 14:23 pm Hola muy buen día para todos.-
Aunque parezca redundante no puedo evitar agradecerle nuevamente a los 2.- Una última pregunta(es un chiste) si le aplicaran comprensión de diccionario quedaría concluido con 4 líneas, jajajajaj, abrazo.- Slds. Daniel ☕☕☕ |