Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Filtrar Elementos Duplicados En Un Array Tipo String[]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
Hola,

A raíz de este código de Python:

lista = list(set(lista)) #Filtra la lista quitando los duplicados

Me ha surgido esta pregunta; yo se hacerlo a mi manera en gambas, pero, ¿Existe algo parecido en gambas de como se hace en Python?

Gracias.
 



 
última edición por gambafeliz el Lunes, 09 Septiembre 2019, 11:40; editado 1 vez 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
Que yo sepa, no.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
Que yo sepa tampoco, peeeeero...
Tengo esta pequeña funcion que lo hace
Public Function ListDeldup(stxInput As String[]) As String[] ''Elimina elementos duplicados de una lista, requiere una String[] y devuelve una String[].

  Dim strTmp As String
  Dim stxOut As New String[]

  stxInput.Sort

  For Each strTmp In stxInput
    If stxOut.Find(strTmp) = -1 Then
      stxOut.Add(strTmp)
    Endif
  Next

  Return stxOut

End
 

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
shordi y tincho

Muchas gracias.

Nota: Que se le va hacer  
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
tincho escribió:  
Que yo sepa tampoco, peeeeero...
Tengo esta pequeña funcion que lo hace
Public Function ListDeldup(stxInput As String[]) As String[] ''Elimina elementos duplicados de una lista, requiere una String[] y devuelve una String[].

  Dim strTmp As String
  Dim stxOut As New String[]

  stxInput.Sort

  For Each strTmp In stxInput
    If stxOut.Find(strTmp) = -1 Then
      stxOut.Add(strTmp)
    Endif
  Next

  Return stxOut

End
 

Saludos.


Permiteme una corrección, sino te importa. Como estamos con cadenas, he tenido el siguiente problema con tu código:

"AliExpress"
"AliExpress "

Al pasarlo por tú código me ha dado por válidas ambas cadenas, pero son la misma. Por lo tanto corrige tu IF de comparación por este otro:

If aCadena.Find(LTrim(RTrim(sCadena))) = -1 Then

Saludos, joven.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
gambafeliz escribió: [Ver mensaje]
...Permiteme una corrección, sino te importa. Como estamos con cadenas, he tenido el siguiente problema con tu código:
"AliExpress"
"AliExpress "
Al pasarlo por tú código me ha dado por válidas ambas cadenas, pero son la misma. Por lo tanto corrige tu IF de comparación por este otro:
If aCadena.Find(LTrim(RTrim(sCadena))) = -1 Then

Podría ser pero cual es el válido a dejar en la lista ? el que tiene espacio al final o el que no lo tiene.
Si a la función le agregásemos dicha sentencia de comparación ya dejaría de ser una función general.
Como sabes, en unix o linux en este caso, la "filosofía" pasa por tener pequeños programas o funciones que hacen una cosa y bien, y si se necesita mas complejidad entonces se "acoplan" la salida de un programa con la entrada de otro.
Por eso la función no comprueba el "parecido" de las cadenas solo compara si son "iguales" o no.
Lo mismo pasaría con "andaafreirchurros" y "ANDAAFREIRCHURROS" en ambos casos se impera a ir a freír churros pero ¿Con mayúsculas o con minúsculas?
Recuerda también que *nix diferencia G de g no como en güindos.
Pero gracias de todas maneras por el comentario.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
gambafeliz escribió: [Ver mensaje]
LTrim(RTrim(sCadena))


...más exacto con Trim( ).

http://gambaswiki.org/wiki/lang/trim
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
vuott escribió:  
gambafeliz escribió:  
LTrim(RTrim(sCadena))


...más exacto con Trim( ).

http://gambaswiki.org/wiki/lang/trim


Gracias vuott pero no dije lo de Trim por que en la ayuda dice que solo "quita los espacio del final" y yo tonto de mi me lo he creído.

Pero gracias por aclaramelo.

Saludos
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
tincho escribió: [Ver mensaje]

Si a la función le agregásemos dicha sentencia de comparación ya dejaría de ser una función general.
Como sabes, en unix o linux en este caso, la "filosofía" pasa por tener pequeños programas o funciones que hacen una cosa y bien, y si se necesita mas complejidad entonces se "acoplan" la salida de un programa con la entrada de otro.
Por eso la función no comprueba el "parecido" de las cadenas solo compara si son "iguales" o no.


tincho:

Como habrás notado yo lo que había hecho con mi intervención es un acto de buena fe. Y si no lo viste así pues perdón, vale.

Dejando de lado esta aclaración que creo que sobra para ti y para mi o eso supongo, vale

Mira he analizado tus palabras y tiene no solo la razón sino que es como dices.

Yo quería una función para filtrar los duplicados y es lo que me has aportado. Si yo quería una función para limpiar los espacio de la lista pues es otra y debe ser otra. Así se desarrolla de forma más coherente.

Son cosas que se aprenden con los años pero a mi a veces se me va la pinza y es bueno que otra persona te aclare las ideas erróneas.

Gracias, saludos.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Filtrar Elementos Duplicados En Un Array Tipo String[] 
 
gambafeliz escribió: [Ver mensaje]
...Si yo quería una función para limpiar los espacio de la lista pues es otra y debe ser otra. Así se desarrolla de forma más coherente.

No te creas que eso de programar de forma coherente ya nos viene de fabrica, en mi caso que vengo a la programación de forma autodidacta y voy aprendiendo de prueba-error y de ver el código de los demás. Así que esto de hacer funciones pequeñas que hace una sola cosa permite reutilizar el código una barbaridad de veces.
Por este motivo cuando veo que hay algo conceptual que se discute trato de transmitir mi experiencia, y explayarme un poco mas. Para intentar aconsejar desde la mejor de las inteciones.
Ojo no digo que lo mejor, solo es mi experiencia.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Declarar Array Limitando Elementos Po... v3ctor General 1 Viernes, 12 Diciembre 2014, 18:37 Ver último mensaje
Shell
No hay nuevos mensajes Reto 3(nuevo Array Sin Elementos Repetidos) v3ctor Retos de programación 4 Martes, 23 Diciembre 2014, 20:56 Ver último mensaje
Shell
No hay nuevos mensajes Array De 2 Dimensiones String Collections ... tincho Aplicaciones/Fragmentos de Código 2 Sabado, 16 Abril 2016, 16:49 Ver último mensaje
tincho
No hay nuevos mensajes Construirse "artesanalmente" Un ... vuott General 2 Jueves, 22 Marzo 2018, 02:30 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario