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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] Comparar listas de palabras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Comparar listas de palabras  (Leído 15,177 veces)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
[Python] Comparar listas de palabras
« en: 14 Noviembre 2010, 00:45 am »

Buenas:

Aquí si que Python me tumba.

Ver ejercicio.

Parece que aquí voy a tardar un tiempito con este ejercicio ya que parece o al menos me da la impresión que es código largo.


En línea

.:WindHack:.

Desconectado Desconectado

Mensajes: 167

Prisionero de mi propia mente...


Ver Perfil WWW
Re: [Python] Comparar listas de palabras
« Respuesta #1 en: 14 Noviembre 2010, 03:26 am »

Realmente el código no es extenso. A mí se me ocurrió hacerlo de la siguiente manera:

Código
  1. sString = raw_input('Cadena: ') # Pedimos la cadena...
  2. sString = sString.lower() # Convertimos a minusculas...
  3. lListA = sString.split() # Creo la lista con todos los elementos de la cadena...
  4. lListB = [] # Lista vacia
  5.  
  6. for i in lListA: # Recorro la lista original
  7. if i not in lListB: # Si el elemento no esta en la otra lista...
  8. lListB.append(i) #... lo agrego
  9.  
  10. print lListB


En línea

Follow me on Twitter: @windhack | Visit my website: www.daw-labs.com

"The only thing they can't take from us are our minds."
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: [Python] Comparar listas de palabras
« Respuesta #2 en: 14 Noviembre 2010, 04:43 am »

Gracias, me funciona.

Con C# lo he encontrado así:

Código
  1. static void Main(string[] args)
  2.        {
  3.            List<int> lista = new List<int>(9;
  4.            int ingresos = 0;
  5.  
  6.            while(ingresos <= 9)
  7.            {
  8.                Console.WriteLine("Ingrese un numero positivo:");
  9.                string valor = Console.ReadLine();
  10.  
  11.                int valint = 0;
  12.                if (!int.TryParse(valor, out valint))
  13.                {
  14.                    Console.WriteLine("El valor ingresado no es numerico");
  15.                    continue;
  16.                }
  17.  
  18.                if(valint < 0)
  19.                {
  20.                    Console.WriteLine("El valor ingresado debe ser positivo");
  21.                    continue;
  22.                }
  23.  
  24.                lista.Add(valint);
  25.                ingresos++;
  26.  
  27.            }
  28.  
  29.            //se muestra la lista de valores ingresados
  30.            Console.WriteLine("Numeros Ingresados:");
  31.            foreach (int item in lista)
  32.            {
  33.                Console.WriteLine(item);
  34.            }
  35.  
  36.        }

Edito:


Otra forma de hacerlo.

Código
  1. # Declaro las listas
  2. lista_1 = ["Una","frase","formada","con","palabras"]
  3. lista_2 = ["Otra","frase","con","otras","palabras"]
  4. resultado = []
  5.  
  6. # Convierto la palabra a minúsculas y la agrego a la lista
  7. for palabra in lista_1:
  8.    palabra_min = palabra.lower()
  9.    resultado.append(palabra_min)
  10.  
  11. # Comparo ambas listas y luego convierto a mínusculas
  12. for a in lista_2:
  13.    if a not in lista_1:
  14.        palabra_min = a.lower()
  15.        resultado.append(palabra_min)
  16.  
  17. print resultado
« Última modificación: 14 Noviembre 2010, 05:39 am por Meta » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Python] Comparar listas de palabras
« Respuesta #3 en: 16 Noviembre 2010, 14:03 pm »

Aunque creo que usaría el método de .:WindHack:. por simplicidad, aquí tienes ooootra manera más de hacerlo sin usar una segunda lista, solo modificando la que hemos obtenido en principio.

Código
  1. frase = raw_input('Ingresa una frase: ')
  2. lista = frase.lower().split(' ')
  3. i = 0
  4. while i<len(lista):
  5.    if lista[i] in lista[:i]:
  6.        lista.pop(i)
  7.    else:
  8.        i+=1
  9. print lista

Saludos
« Última modificación: 16 Noviembre 2010, 14:09 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Ordenar palabras « 1 2 »
Python
Meta 13 23,708 Último mensaje 24 Noviembre 2010, 05:39 am
por facu_m
[Python] - Contador de palabras en frases
Python
ChicoMaravilla 4 31,441 Último mensaje 18 Enero 2011, 21:17 pm
por Karcrack
Problema con listas en Python (Resuelto)
Scripting
MA40 2 6,641 Último mensaje 6 Abril 2012, 12:32 pm
por MA40
Comparar palabras en C
Programación C/C++
routers en C! 5 2,997 Último mensaje 4 Diciembre 2012, 15:45 pm
por rir3760
Contar y comparar palabras en lenguaje c
Programación C/C++
martha71404 6 11,956 Último mensaje 29 Octubre 2015, 02:36 am
por martha71404
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines