lameduck 发表于 2015-3-30 09:23:21

求助:关于表分组问题

((1 6.01704 6.01) (2 9.26518 9.26) (3 8.48412 8.42) (4 13.1391 13.12).....)
这样格式的表,能否给个思路,每30个加分成一组,最后剩下的一组!

434939575 发表于 2015-3-30 15:04:55

;;;是别人写的,我是盗版
(defun xl-div (lst x / lst2)
(foreach n lst
    (if        (and lst2 (/= x (length (car lst2))))
      (setq lst2 (cons (append (car lst2) (list n)) (cdr lst2)))
      (setq lst2 (cons (list n) lst2))
    )
)
(reverse lst2)
)
(defun c:tt ()
(setq lst '((1)( 2)( 3)( 4)( 5) (6) (7)( 8) (9)))
(xl-div lst 8)
);;返回(((1) (2) (3) (4) (5) (6) (7) (8))   ((9)))

lameduck 发表于 2015-3-30 17:29:55

太感谢了~完美解决了问题

海盗曹 发表于 2015-4-5 23:08:01

留名学习啦

llsheng_73 发表于 2015-4-12 14:41:20

本帖最后由 llsheng_73 于 2015-4-12 14:42 编辑

(defun divlst(lst n / a b)
    (while lst(setq b nil)
      (repeat(min(length lst)n)(setq b(cons(car lst) b)lst(cdr lst)))
      (setq a(cons b a)))
    (mapcar'reverse(reverse a)))
页: [1]
查看完整版本: 求助:关于表分组问题