acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Eliminar líneas repetidas de una lista

2 participantes

Ir abajo

Eliminar líneas repetidas de una lista Empty Eliminar líneas repetidas de una lista

Mensaje por robierzo Sáb Jul 24, 2021 10:44 am

Hola, qué tal????
Tengo una lista formada por varias líneas, que están definidas por su punto inicial y su punto final.
Hay varias líneas que están repetidas y deseo eliminarlas, dejando sólo una.

En el ejemplo, las líneas 1 y 7 son iguales. Y las líneas 2 y 5 también son iguales. Pueden tener los puntos inicial y final intercambiados, pero son iguales de todas formas.

Debo eliminar una de ellas.
¿Cómo puedo hacerlo?
Código:
Lista inicial
(
((102.365 153.631 12.369) (109.543 163.771 12.999));line 1
((201.200 152.940 11.366) (206.888 136.477 11.954));line 2
((180.696 134.888 9.701) (183.702 146.733 11.443));line 3
((48.666 186.002 15.631) (95.666 118.642 113.777));line 4
((206.888 136.477 11.954) (201.200 152.940 11.366));line 5
((99.555 188.347 16.763) (116.321 746.543 12.796));line 6
((102.365 153.631 12.369) (109.543 163.771 12.999));line 7
((201.834 304.442 13.333) (745.530 504.679 16.771));line 8
)

Código:
Lista final
(
((102.365 153.631 12.369) (109.543 163.771 12.999));line 1
((201.200 152.940 11.366) (206.888 136.477 11.954));line 2
((180.696 134.888 9.701) (183.702 146.733 11.443));line 3
((48.666 186.002 15.631) (95.666 118.642 113.777));line 4
((99.555 188.347 16.763) (116.321 746.543 12.796));line 6
((201.834 304.442 13.333) (745.530 504.679 16.771));line 8
)
Muchas gracias.
robierzo
robierzo

Mensajes : 103
Fecha de inscripción : 17/03/2016
Localización : La Coruña

http://www.selmotopografia.es

Volver arriba Ir abajo

Eliminar líneas repetidas de una lista Empty Re: Eliminar líneas repetidas de una lista

Mensaje por devitg Dom Jul 25, 2021 7:16 pm

;;*******************************************************************************************************
(DEFUN REMOVE-DUPS (LISTE / RETLISTE) ;_ 01
(FOREACH ITEM LISTE
(IF (NOT (MEMBER ITEM RETLISTE))
(SETQ RETLISTE (CONS ITEM RETLISTE))
)
)
(REVERSE RETLISTE)
)
;;*******************************************************************************************************

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

A robierzo le gusta esta publicaciòn

Volver arriba Ir abajo

Eliminar líneas repetidas de una lista Empty Re: Eliminar líneas repetidas de una lista

Mensaje por robierzo Lun Jul 26, 2021 12:45 pm

Gracias Gabriel. Me ha servido, aunque la he modificado ligeramente, ya que había una condición que no se cumplía, cuando la líneas eran iguales, pero con los puntos inicial y final intercambiados.

Código:
(FOREACH ITEM lista_lineas
    (IF (and (NOT (MEMBER ITEM RETLISTE))
       (not (member (reverse item) RETLISTE))
   )
       
      (SETQ RETLISTE (CONS ITEM RETLISTE))
    )
  )

robierzo
robierzo

Mensajes : 103
Fecha de inscripción : 17/03/2016
Localización : La Coruña

http://www.selmotopografia.es

Volver arriba Ir abajo

Eliminar líneas repetidas de una lista Empty Re: Eliminar líneas repetidas de una lista

Mensaje por devitg Lun Jul 26, 2021 4:38 pm

Como para que se pueda entender , por favor poner la NUEVA defun completa

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

Eliminar líneas repetidas de una lista Empty Re: Eliminar líneas repetidas de una lista

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.