明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 984|回复: 8

[源码] 几个精妙apply mapcar append 操作表 案例

[复制链接]
发表于 2023-4-25 14:18 | 显示全部楼层 |阅读模式
本帖最后由 liuhe 于 2023-4-29 23:51 编辑

复制代码
  1. (setq lst1 '(1 2 3 4)
  2.       lst2 '(5 6 7 8))
  3. (apply 'append (mapcar 'list lst1 lst2))
  4. (1 5 2 6 3 7 4 8)

  5. (setq m '((0 1 2) (3 4 5) (6 7 8)))
  6. (apply 'mapcar (cons 'list m))
  7. (
  8.     (0 3 6)
  9.     (1 4 7)
  10.     (2 5 8)
  11. )


  12. (setq m '((1 2 3 4) (5 6 7 8)))
  13. (apply 'mapcar (cons 'list m))
  14. (
  15.     (1 5)
  16.     (2 6)
  17.     (3 7)
  18.     (4 8)
  19. )
  20. (apply 'append (apply 'mapcar (cons 'list m)))
  21. (LH:nentseltonentselp
  22.   '((0.0393701 0.0 0.0)
  23.     (0.0 0.0393701 0.0)
  24.     (0.0 0.0 0.0393701)
  25.     (16.1693 14.733 0.0)
  26.    )

  27. )
  28. ((0.0393701 0.0 0.0 16.1693)
  29.   (0.0 0.0393701 0.0 14.733)
  30.   (0.0 0.0 0.0393701 0.0)
  31.   (0.0 0.0 0.0 1.0)
  32. )
  33. (defun LH:nentseltonentselp (lst / i)
  34.   (setq i -1)
  35.   (append
  36.     (mapcar
  37.       (function
  38.   (lambda (x) (append x (list (nth (setq i (1+ i)) (last lst)))))
  39.       )
  40.       (reverse (cdr (reverse lst)))
  41.     )
  42.     (list (list 0.0 0.0 0.0 1.0))
  43.   )
  44. )

(1 5 2 6 3 7 4 8)代码来至于   lee-mac

评分

参与人数 3明经币 +3 金钱 +10 收起 理由
hhh454 + 1 + 10 很给力!
lee50310 + 1 赞一个!
xtjd + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2023-4-25 15:29 | 显示全部楼层
后两个叫做转置矩阵
发表于 2023-4-25 22:04 来自手机 | 显示全部楼层
这个腻害腻害了
发表于 2023-4-27 10:43 | 显示全部楼层
要慢慢细品  不懂
发表于 2023-4-28 12:45 | 显示全部楼层
代码很简短,处理数据归纳提取的好办法
发表于 2023-8-18 09:07 | 显示全部楼层
这个是处理增广矩阵的吧,强啊
发表于 2023-8-18 11:43 | 显示全部楼层
关于apply mapcar lambda总是有些似懂非懂,需要这样类似的例子来帮助理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-12 16:22 , Processed in 0.169956 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表