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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Verificar si dos tuplas contienen los mismos valores [python]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Verificar si dos tuplas contienen los mismos valores [python]  (Leído 4,674 veces)
bichotg

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Verificar si dos tuplas contienen los mismos valores [python]
« en: 21 Febrero 2012, 16:18 pm »

Buenas :) !!

Haber como haríais esto vosotros, a mi no me sale, verifico si las tuplas son iguales, pero si los valores están en distinto orden ya no se como hacerlo

Citar
Write a function hasSameContent(t1, t2) that takes in two tuples as arguments and return True if both tuples contain the same items.

Examples

    >>> hasSameContent((1, 2), (1, 2))
    True
    >>> hasSameContent((1, 2), (2, 1))
    True
    >>> hasSameContent((1, 2), (1, 2, 1))
    False
    >>> hasSameContent((1, 2), ())
    False


Saludos


En línea

Jirp96

Desconectado Desconectado

Mensajes: 46


Ver Perfil
Re: Verificar si dos tuplas contienen los mismos valores [python]
« Respuesta #1 en: 21 Febrero 2012, 17:59 pm »

Hola!
A mi me quedo así:
Código
  1. def hasSameContent(t1,t2):
  2. if len(t1) != len(t2): #si la cantidad de elementos es diferente
  3. return False
  4. for cont in t1:
  5. if not cont in t2: #si el elemento no se encuentra en la segunda tupla
  6. return False
  7. return True
  8.  

Código
  1. >>> hasSameContent((1, 2), ())
  2. False
  3. >>> hasSameContent((1, 2), (1, 2, 1))
  4. False
  5. >>> hasSameContent((1, 2), (2, 1))
  6. True
  7. >>> hasSameContent((1, 2), (1, 2))
  8. True
  9.  

Saludos!
pd: de donde sacas esos ejercicios? :o


En línea

bichotg

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Verificar si dos tuplas contienen los mismos valores [python]
« Respuesta #2 en: 21 Febrero 2012, 23:02 pm »

Hola!
A mi me quedo así:
Código
  1. def hasSameContent(t1,t2):
  2. if len(t1) != len(t2): #si la cantidad de elementos es diferente
  3. return False
  4. for cont in t1:
  5. if not cont in t2: #si el elemento no se encuentra en la segunda tupla
  6. return False
  7. return True
  8.  

Código
  1. >>> hasSameContent((1, 2), ())
  2. False
  3. >>> hasSameContent((1, 2), (1, 2, 1))
  4. False
  5. >>> hasSameContent((1, 2), (2, 1))
  6. True
  7. >>> hasSameContent((1, 2), (1, 2))
  8. True
  9.  

Saludos!
pd: de donde sacas esos ejercicios? :o

Buenas!!!

Buenas!!!

Gracias por tu respuesta,, me a servido para pasar del test, jeje porque las comprobaciones las hace sobre los ejemplos pero realmente creo que no esta bien del todo, porque se trata de Verificar si dos tuplas contienen los mismos valores, si enviáramos hasSameContent((1, 2), (1, 3)) nos daría un True y un False no?

los ejercicios son de la pagina http://www.pyschools.com/ si no la conoces mirala es muy buena.

Saludos!!
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Verificar si dos tuplas contienen los mismos valores [python]
« Respuesta #3 en: 22 Febrero 2012, 08:41 am »

Si no los haces tu no tienen gracia ... me he pasado un rato resolviendo ejercicios de esa página :xD
Código
  1. def hasSameContent(t1, t2):
  2. if len(t1)!=len(t2):
  3. return False
  4. return all([(x in t2) for x in t1])

Saludos
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
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Verificar si dos tuplas contienen los mismos valores [python]
« Respuesta #4 en: 23 Febrero 2012, 18:06 pm »

Y luego me di cuenta de que podía ser más corta :xD
Código
  1. def hasSameContent(t1, t2):
  2. return all([(x in t2) for x in t1]) if len(t1)==len(t2) else False

Saludos
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
WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: Verificar si dos tuplas contienen los mismos valores [python]
« Respuesta #5 en: 23 Febrero 2012, 18:38 pm »

Y luego me di cuenta de que podía ser más corta :xD
Código
  1. def hasSameContent(t1, t2):
  2. return all([(x in t2) for x in t1]) if len(t1)==len(t2) else False


El A if C else B xD, aquel que no sé implementar...
En línea

La cacatúa yoyó es nueva en el zoo!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Verificar argumentos de función[Python]
Scripting
S3kh 3 3,367 Último mensaje 20 Septiembre 2011, 02:26 am
por Novlucker
[Python] Duda con tuplas
Scripting
arkaneix 1 2,281 Último mensaje 8 Noviembre 2012, 02:43 am
por Eleкtro
[PYTHON] Como crear conjunto a partir de lista de tuplas por clave?
Scripting
_TTFH_3500 0 2,186 Último mensaje 29 Marzo 2019, 03:07 am
por _TTFH_3500
Tuplas python
Scripting
Panic0 7 4,505 Último mensaje 2 Diciembre 2020, 11:04 am
por Panic0
PYTHON LISTAS ARRGELOS TUPLAS
Programación General
fredox 1 3,208 Último mensaje 28 Junio 2021, 07:41 am
por fzp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines