0

For example, convert from this:

((((7 8) (0 H 0))) (((11 12)))) 

to the following:

((7 8) (0 H 0) (11 12))

not (7 8 0 H 0 11 12) !! Thank you.

DanielBarbarian
  • 5,093
  • 12
  • 35
  • 44

2 Answers2

0
0: (MYSTERIOUS ((((7 8) (0 H 0))) (((11 12))) (((A B) (C D))) ((D E F))))
  1: (MAGIC (((7 8) (0 H 0))))
    2: (MAGIC ((7 8) (0 H 0)))
      3: (MAGIC (7 8))
      3: MAGIC returned ((7 8))
      3: (MAGIC (0 H 0))
      3: MAGIC returned ((0 H 0))
    2: MAGIC returned ((7 8) (0 H 0))
  1: MAGIC returned ((7 8) (0 H 0))
  1: (MAGIC (((11 12))))
    2: (MAGIC ((11 12)))
      3: (MAGIC (11 12))
      3: MAGIC returned ((11 12))
    2: MAGIC returned ((11 12))
  1: MAGIC returned ((11 12))
  1: (MAGIC (((A B) (C D))))
    2: (MAGIC ((A B) (C D)))
      3: (MAGIC (A B))
      3: MAGIC returned ((A B))
      3: (MAGIC (C D))
      3: MAGIC returned ((C D))
    2: MAGIC returned ((A B) (C D))
  1: MAGIC returned ((A B) (C D))
  1: (MAGIC ((D E F)))
    2: (MAGIC (D E F))
    2: MAGIC returned ((D E F))
  1: MAGIC returned ((D E F))
0: MYSTERIOUS returned ((7 8) (0 H 0) (11 12) (A B) (C D) (D E F))
coredump
  • 37,664
  • 5
  • 43
  • 77
  • 1
    @Sylwester `(flatten '((((7 8) (0 H 0))) (((11 12)))))` gives `(7 8 0 H 0 11 12)`, which is different from the (possibly underspecified) problem. – coredump Aug 23 '16 at 05:19
0

if the nesting level is constant, like in the example, you could simply do this:

CL-USER> (mapcan #'car '((((7 8) (0 H 0))) (((11 12)))))
((7 8) (0 H 0) (11 12))
leetwinski
  • 17,408
  • 2
  • 18
  • 42