77077 发表于 2014-5-8 12:05:22

哦,想起来了,问题2不需要用到mapcar

llsheng_73 发表于 2014-5-8 12:37:15

77077 发表于 2014-5-8 11:53 static/image/common/back.gif
;将双层表中的元素按列拼接
;-------------------------------------
(setq lst1 (list "R1" "R2" "R3")
...

问题1:
(setq lst1 (list "R1" "R2" "R3")
      lst2 (list "一类居住" "二类居住" "三类居住")
      lst 'nil)
(foreach x lst1(setq lst(append lst(list(strcat x(nth(vl-position x lst1)lst2))))))
问题2:
(mapcar '(lambda(x)(list(car x)(cadr x)))lst)
或者(mapcar '(lambda(x)(vl-remove(last x)x)lst)
或者(setq lst1 'nil)(foreach x lst(setq lst1(append lst1(list(list(car x)(cadr x))))))
或者(setq lst1 'nil)(foreach x lst(setq lst1(append lst1(list(vl-remove(last x)x)))))

77077 发表于 2014-5-8 16:31:40

(setq lst '(("R1" "一类居住" "40%") ("R2" "二类居住" "35%") ("R3" "三类居住" "30%")))
(mapcar '(lambda(x) (strcat (car x)(cadr x))) lst)
==>("R1一类居住" "R2二类居住" "R3三类居住")

有点了解了,mapcar,我喜欢.再尝试下更难的!~~~

77077 发表于 2014-5-8 16:33:15

77077 发表于 2014-5-8 12:05 static/image/common/back.gif
哦,想起来了,问题2不需要用到mapcar

我原先的想法是用repeat,没想到mapcar这么容易实现啊~~~

依然低调 发表于 2015-7-4 17:08:06

感谢!感谢高手的分享!

jancely 发表于 2016-5-15 23:46:11

很有帮助,谢谢大神的解释
页: 1 [2]
查看完整版本: 求大师指点指点mapcar和foreach