elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ordenar lista con sort y key en python.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenar lista con sort y key en python.  (Leído 2,547 veces)
El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Ordenar lista con sort y key en python.
« en: 24 Agosto 2022, 15:17 pm »

Hola, gente, ¿cómo están?.-
Le expongo lo que deseo hacer y evidentemente no logro concretar,
estoy haciendo mi propio traductor inglés/español y quisiera ordenar
él .txt que contiene las 1300 palabras, pero los pocos ejemplos que
encuentro con key son sobre diccionarios, concretamente quisiera
ordenar todas las palabras teniendo en cuenta solamente las palabras
en inglés...

Código
  1. import codecs
  2.  
  3. palabras = []
  4. with codecs.open('Traductor.txt', 'r', encoding='utf-8') as archivo:
  5.    for tmpLinea in archivo:
  6.        tmpLinea[:].strip()
  7.        linea = tmpLinea.split(',')
  8.        palabras.append(linea)
  9.  
  10. palabras.sort()
  11.  
  12. with codecs.open('Traductor.txt', 'w', encoding='utf-8') as archivo:
  13.    for item in palabras:
  14.        final = f"{item[0]},{item[1]}"
  15.        archivo.write(final)



Citar
ability,capacidad
able,poder
abortion,aborto
about,acerca de
above,encima
abstract,resumen abstracto
accept,aceptar
access,acceso
accord,acuerdo
account,cuenta
accuse,acusar
achieve,lograr
across,a través de
act,acto
action,acción
activity,actividad
actually,actualmente

Desde ya muchas gracias por la ayuda.
Slds. Daniel ☕☕☕


En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #1 en: 24 Agosto 2022, 16:19 pm »

lo haría basicamente así:
Código
  1. #-*- coding:utf-8 -*-
  2. import codecs
  3.  
  4. with codecs.open('Traductor.txt', 'r', encoding='utf-8') as archivo:
  5.    palabras=[[linea.strip()] for linea in archivo]#no obligatorio, pero no me gustan tantas declaraciones
  6.  
  7. palabras.sort(key=lambda x: x[0] )
  8.  
  9. with codecs.open('Traductor.txt', 'w', encoding='utf-8') as archivo:
  10.    for item in palabras:
  11.         archivo.write(",".join(item)+"\n")
  12.  


« Última modificación: 24 Agosto 2022, 16:24 pm por reymosquito » En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #2 en: 24 Agosto 2022, 16:59 pm »

Gracias por tu código, no puedo dejar de ser sincero, no lo entiendo
me gusta como aprendiz(autodidacta) poder interpretar los códigos
de los demás para aprender, igual pude sacar mucho de los 2 bucles
sobre archivos gracias muchas gracias, seguiré investigando...

Slds. Daniel ☕☕☕
En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #3 en: 24 Agosto 2022, 17:15 pm »

la mayoría somos aprendices y autodidactas, no hay nada dificil en el código:
Código
  1. palabras=[[linea.strip()] for linea in archivo]

comprensión de listas, que como dije no es obligatorio

Código
  1. palabras.sort(key=lambda x: x[0] )

es solo usar la clave key de sort y una función lambda
Código
  1. archivo.write(",".join(item)+"\n")

el método join es lo más básico de python.
En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #4 en: 24 Agosto 2022, 18:34 pm »

Bien, resumiendo me queda una gran duda, explícame por qué debo
suponer que estás separando("ability,capacidad") las 2 palabras si lo
que contiene "palabras" en cada elemento es un string y no una lista
de listas, no lo entiendo...

Slds. Daniel ☕☕☕
En línea

reymosquito

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #5 en: 24 Agosto 2022, 19:23 pm »

ahh es un error mio de copia del código, no vi que había usado una linea anterior. ahí no estan separadas, la línea final es:
Código
  1. palabras=[linea.strip().split(",") for linea in archivo]

debo haber hecho un undo en mi editor y ni me fijé.
En línea

El mas antiguo

Desconectado Desconectado

Mensajes: 94



Ver Perfil
Re: Ordenar lista con sort y key en python.
« Respuesta #6 en: 24 Agosto 2022, 20:51 pm »

Gracias rey, ahora me queda todo mucho más claro, gracias mil...

Slds. Daniel ☕☕☕
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOLUCIONADO][PYTHON] Como ordenar(sort) un diccionario?
Scripting
Jirp96 5 16,722 Último mensaje 10 Junio 2016, 17:35 pm
por cerototal
[BASH] Ordenar contactos sin utilizar sort
Scripting
zenok 2 2,286 Último mensaje 28 Noviembre 2014, 12:49 pm
por zenok
problema con .sort python 3
Scripting
HBN 2 2,277 Último mensaje 10 Septiembre 2017, 19:02 pm
por tincopasan
Ordenar lista doblemente enlazada con insertion sort
Programación C/C++
mari2diaz 2 6,091 Último mensaje 27 Marzo 2022, 23:53 pm
por Serapis
python - ordenar lista importada desde archivo csv
Programación General
juanfelr 1 2,008 Último mensaje 4 Noviembre 2022, 02:56 am
por juanfelr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines