Author Topic: remove items from a list  (Read 3375 times)

0 Members and 1 Guest are viewing this topic.

Humbertogo

  • Guest
remove items from a list
« on: February 23, 2006, 08:52:29 AM »
I have  a list and i Will to remove the items that have the same name
Thanks :mrgreen:

zoltan

  • Guest
Re: remove items from a list
« Reply #1 on: February 23, 2006, 09:02:49 AM »
Hey friend.  Glad to see you made it.

Do you mean remove all of the duplicates in a list, so there is only one of each item, or remove all of the items for which there is more than one?

JohnK

  • Administrator
  • Seagull
  • Posts: 10669
Re: remove items from a list
« Reply #2 on: February 23, 2006, 09:07:50 AM »
Welcome, here is an app that should work out for you.

http://www.theswamp.org/forum/index.php?topic=7299.0

TheSwamp.org (serving the CAD community since 2003)
Member location map - Add yourself

Donate to TheSwamp.org

Jürg Menzi

  • Swamp Rat
  • Posts: 599
  • Oberegg, Switzerland
Re: remove items from a list
« Reply #3 on: February 23, 2006, 09:08:51 AM »
If you wanna remove all items with the same name use:
(vl-remove Item List)
A computer's human touch is its unscrupulousness!
MENZI ENGINEERING GmbH
Current A2k16... A2k24 - Start R2.18

zoltan

  • Guest
Re: remove items from a list
« Reply #4 on: February 23, 2006, 09:24:33 AM »
It sounds to me like he does not know what the Item in question is, but want's to remove all of the duplicates so there is only one of each item in the list.

I threw this together just now:
Code: [Select]
(Defun RemoveDuplicates ( LST / item return)
 (While LST
  (SetQ item (Car LST)
        LST (Cdr LST )
  )
  (SetQ LST (VL-Remove item LST) )
  (SetQ return (Cons item return) )
 )

 (Reverse return )
)

Humbertogo

  • Guest
Re: remove items from a list
« Reply #5 on: February 23, 2006, 09:33:30 AM »
zoltan
How to use the code with this list..?

This is my list
("0" "07 Sicherungsring" "07 Sicherungsring" "07 Sicherungsring" "08
Schlauchfeder" "1" "10" "11 Gleitring" "11 Gleitring" "11 Gleitring" "14
Gegenring" "14 Gegenring" "14 Gegenring" "16 Druckring" "16 Druckring" "16
Druckring" "16 Druckring" "16 Druckring" "18 Passfeder" "18 Passfeder" "18
Passfeder" "19 Mitnehmer" "19 Mitnehmer" "19 Mitnehmer" "19 Mitnehmer" "19
Mitnehmer" "21 Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21
Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21
Wellenhuelse" "21 Wellenhuelse" "24 Aufnahme" "24 Aufnahme" "24 Aufnahme" "24
Aufnahme" "24 Aufnahme" "24 Aufnahme" "24 Aufnahme" "25 Aufnahme" "25 Aufnahme"
"25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25
Aufnahme" "25 Aufnahme" "33 Montagelasche" "33 Montagelasche" "33
Montagelasche" "33 Montagelasche" "33 Montagelasche" "34 Sprengring" "34
Sprengring" "36 Deckel" "36 Deckel" "36 Deckel" "36 Deckel" "36 Deckel" "36
Deckel" "36 Deckel" "36 Deckel")
« Last Edit: February 23, 2006, 09:39:24 AM by Humbertogo »

Jürg Menzi

  • Swamp Rat
  • Posts: 599
  • Oberegg, Switzerland
Re: remove items from a list
« Reply #6 on: February 23, 2006, 09:47:42 AM »
Hallo

Möchtest Du nun alle Einträge eines bestimmten Atom's löschen oder alle bis auf Einen?
A computer's human touch is its unscrupulousness!
MENZI ENGINEERING GmbH
Current A2k16... A2k24 - Start R2.18

Humbertogo

  • Guest
Re: remove items from a list
« Reply #7 on: February 23, 2006, 09:53:46 AM »
Don't speak German
yes i need to remove the items with the same name and hold  one of then

ronjonp

  • Needs a day job
  • Posts: 7533
Re: remove items from a list
« Reply #8 on: February 23, 2006, 09:57:03 AM »
zoltan
How to use the code with this list..?

This is my list
("0" "07 Sicherungsring" "07 Sicherungsring" "07 Sicherungsring" "08
Schlauchfeder" "1" "10" "11 Gleitring" "11 Gleitring" "11 Gleitring" "14
Gegenring" "14 Gegenring" "14 Gegenring" "16 Druckring" "16 Druckring" "16
Druckring" "16 Druckring" "16 Druckring" "18 Passfeder" "18 Passfeder" "18
Passfeder" "19 Mitnehmer" "19 Mitnehmer" "19 Mitnehmer" "19 Mitnehmer" "19
Mitnehmer" "21 Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21
Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21 Wellenhuelse" "21
Wellenhuelse" "21 Wellenhuelse" "24 Aufnahme" "24 Aufnahme" "24 Aufnahme" "24
Aufnahme" "24 Aufnahme" "24 Aufnahme" "24 Aufnahme" "25 Aufnahme" "25 Aufnahme"
"25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25 Aufnahme" "25
Aufnahme" "25 Aufnahme" "33 Montagelasche" "33 Montagelasche" "33
Montagelasche" "33 Montagelasche" "33 Montagelasche" "34 Sprengring" "34
Sprengring" "36 Deckel" "36 Deckel" "36 Deckel" "36 Deckel" "36 Deckel" "36
Deckel" "36 Deckel" "36 Deckel")


Code: [Select]
(removeduplicates
  '("0"   "07 Sicherungsring" "07 Sicherungsring"
    "07 Sicherungsring"   "08
Schlauchfeder" "1"
    "10"   "11 Gleitring" "11 Gleitring"
    "11 Gleitring"   "14
Gegenring" "14 Gegenring"
    "14 Gegenring"   "16 Druckring" "16 Druckring"
    "16
Druckring"   "16 Druckring" "16 Druckring"
    "18 Passfeder"   "18 Passfeder" "18
Passfeder" "19 Mitnehmer"
    "19 Mitnehmer"   "19 Mitnehmer" "19 Mitnehmer"
    "19
Mitnehmer"   "21 Wellenhuelse" "21 Wellenhuelse"
    "21 Wellenhuelse"   "21
Wellenhuelse" "21 Wellenhuelse"
    "21 Wellenhuelse"   "21 Wellenhuelse" "21
Wellenhuelse" "21 Wellenhuelse"
    "24 Aufnahme"   "24 Aufnahme" "24 Aufnahme"
    "24
Aufnahme"   "24 Aufnahme" "24 Aufnahme"
    "24 Aufnahme"   "25 Aufnahme" "25 Aufnahme"
    "25 Aufnahme"   "25 Aufnahme" "25 Aufnahme"
    "25 Aufnahme"   "25 Aufnahme" "25
Aufnahme" "25 Aufnahme"
    "33 Montagelasche"   "33 Montagelasche" "33
Montagelasche" "33 Montagelasche"
    "33 Montagelasche"   "34 Sprengring" "34
Sprengring" "36 Deckel"
    "36 Deckel"   "36 Deckel" "36 Deckel"
    "36 Deckel"   "36
Deckel" "36 Deckel"
    "36 Deckel"
   )
)

Windows 11 x64 - AutoCAD /C3D 2023

Custom Build PC

Jürg Menzi

  • Swamp Rat
  • Posts: 599
  • Oberegg, Switzerland
Re: remove items from a list
« Reply #9 on: February 23, 2006, 09:58:00 AM »
Don't speak German
yes i need to remove the items with the same name and hold  one of then
Sorry, thought you're German because of the list... :-)
This should give you a start:
Code: [Select]
(vl-sort (cons Item (vl-remove Item List)) '<)
A computer's human touch is its unscrupulousness!
MENZI ENGINEERING GmbH
Current A2k16... A2k24 - Start R2.18

zoltan

  • Guest
Re: remove items from a list
« Reply #10 on: February 23, 2006, 10:02:10 AM »
Code: [Select]
(SetQ A '("0"
          "07 Sicherungsring"
          "07 Sicherungsring"
          "07 Sicherungsring"
          "08 Schlauchfeder"
          "1"
          "10"
          "11 Gleitring"
          "11 Gleitring"
          "11 Gleitring"
          "14 Gegenring"
          "14 Gegenring"
          "14 Gegenring"
          "16 Druckring"
          "16 Druckring"
          "16 Druckring"
          "16 Druckring"
          "16 Druckring"
          "18 Passfeder"
          "18 Passfeder"
          "18 Passfeder"
          "19 Mitnehmer"
          "19 Mitnehmer"
          "19 Mitnehmer"
          "19 Mitnehmer"
          "19 Mitnehmer"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "21 Wellenhuelse"
          "24 Aufnahme"
          "24 Aufnahme"
          "24 Aufnahme"
          "24 Aufnahme"
          "24 Aufnahme"
          "24 Aufnahme"
          "24 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "25 Aufnahme"
          "33 Montagelasche"
          "33 Montagelasche"
          "33 Montagelasche"
          "33 Montagelasche"
          "33 Montagelasche"
          "34 Sprengring"
          "34 Sprengring"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
          "36 Deckel"
         )
)


(Defun RemoveDuplicates ( LST / item return)
(While LST
  (SetQ item (Car LST)
        LST (Cdr LST )
  )
  (SetQ LST (VL-Remove item LST) )
  (SetQ return (Cons item return) )
)

(Reverse return )
)

(RemoveDuplicates A)


returns:
Code: [Select]
("0"
 "07 Sicherungsring"
 "08 Schlauchfeder"
 "1"
 "10"
 "11 Gleitring"
 "14 Gegenring"
 "16 Druckring"
 "18 Passfeder"
 "19 Mitnehmer"
 "21 Wellenhuelse"
 "24 Aufnahme"
 "25 Aufnahme"
 "33 Montagelasche"
 "34 Sprengring"
 "36 Deckel"
)

Humbertogo

  • Guest
Re: remove items from a list
« Reply #11 on: February 23, 2006, 10:57:06 AM »
thanks

ttaahhhh

  • Guest
Re: remove items from a list
« Reply #12 on: February 25, 2006, 08:47:35 PM »
thanks
Code: [Select]
(defun xyp1-delsame (ptlst / nl lst)
  (mapcar
    '(lambda (x)
       (if (not (member x nl))
(setq nl (cons x nl))
       )
     )
    ptlst
  )
  (setq nl (reverse nl))
  nl
)
(defun xyp2-delsame (ptlst / nl lst)
  (foreach x ptlst
    (if (not (member x nl))
      (setq nl (cons x nl))
    )
  )
  (setq nl (reverse nl))
  nl
)

ElpanovEvgeniy

  • Water Moccasin
  • Posts: 1569
  • Moscow (Russia)
Re: remove items from a list
« Reply #13 on: March 03, 2006, 04:47:47 AM »
Code: [Select]
(defun rec-rem-dupl (lst)
  (if lst
    (cons (car lst) (rec-rem-dupl (vl-remove (car lst) (cdr lst))))
  ) ;_  if
) ;_  defun
example:
Code: [Select]
(rec-rem-dupl lst)