yhly555 发表于 2016-10-5 09:00:03

[已解决]关于表关联问题

本帖最后由 yhly555 于 2016-10-11 15:18 编辑

(setq a '(a b c))
(setq b '(1 2 3))
如何将两表并联成(("a" . "1")("b" . "2")("c" . "3"))加“”和中间那个“.”
谢谢



自贡黄明儒 发表于 2016-10-8 08:34:01

本帖最后由 自贡黄明儒 于 2016-10-8 08:39 编辑

yhly555 发表于 2016-10-7 20:56
如果并联成(("a" . "1")("b" . "2")("c" . "3"))
即加“”和中间那个“.”,怎么才能实现。
Command: (mapcar 'list a b)
((A 1) (B 2) (C 3))
Command: (mapcar 'cons a b)
((A . 1) (B . 2) (C . 3))
Command: (mapcar '(lambda(x y) (cons (VL-PRINC-TO-STRING x) y)) a b)
(("A" . 1) ("B" . 2) ("C" . 3))
Command: (mapcar 'cons (mapcar 'vl-princ-to-string a) b)
(("A" . 1) ("B" . 2) ("C" . 3))


USER2128 发表于 2016-10-5 09:18:18

(mapcar 'cons a (mapcar 'list b))

yhly555 发表于 2016-10-5 09:43:50

USER2128 发表于 2016-10-5 09:18
(mapcar 'cons a (mapcar 'list b))

感谢热心帮助,谢谢!

lijiao 发表于 2016-10-5 10:49:37

(mapcar 'list a b)

yhly555 发表于 2016-10-5 12:52:44

lijiao 发表于 2016-10-5 10:49
(mapcar 'list a b)

谢谢,这样结合起来的结果应该不一样吧,一会我再试试。

yhly555 发表于 2016-10-7 20:54:46

yhly555 发表于 2016-10-5 09:43
感谢热心帮助,谢谢!

如果并联成(("a" . "1")("b" . "2")("c" . "3"))
即加“”和中间那个“.”,怎么才能实现。

yhly555 发表于 2016-10-7 20:56:03

lijiao 发表于 2016-10-5 10:49
(mapcar 'list a b)

如果并联成(("a" . "1")("b" . "2")("c" . "3"))
即加“”和中间那个“.”,怎么才能实现。

yhly555 发表于 2016-10-8 09:00:10

自贡黄明儒 发表于 2016-10-8 08:34
Command: (mapcar 'list a b)
((A 1) (B 2) (C 3))
Command: (mapcar 'cons a b)


谢谢!都是高手。

Sylvanas 发表于 2016-10-8 09:02:24

自贡黄明儒 发表于 2016-10-8 08:34
Command: (mapcar 'list a b)
((A 1) (B 2) (C 3))
Command: (mapcar 'cons a b)


加一个

(mapcar 'cons (mapcar 'vl-princ-to-string a) (mapcar 'vl-princ-to-string b))
(("A" . "1") ("B" . "2") ("C" . "3"))
页: [1]
查看完整版本: [已解决]关于表关联问题