明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2403|回复: 12

求助--如何对两个列表赋值

  [复制链接]
发表于 2013-1-16 13:12 | 显示全部楼层 |阅读模式
如题,有lsta 和 lstb 两个表,如何直接把表a的值赋值给表b,一个一个写太麻烦了,请各位大侠们帮帮忙,谢谢谢谢!
(setq lsta '("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" ....))
(setq lstb '("m01" "m02" "m03" "m04" "m05" "m06" "m07" "m08" "m09" "m010" ....))
(setq "m01" "a")
(setq "m02" "b")
(setq "m03" "c")
(setq "m04" "d")
(setq ......)
发表于 2016-10-23 14:05 | 显示全部楼层
很好的资料,谢谢楼主分享啊。
发表于 2013-1-16 13:16 | 显示全部楼层
(mapcar '(lambda(x y)(set x y))lsta  lstb )试试?

点评

yjr111 老大,木有得到我想要的结果,是不是字符串本身就不能赋值啊?  发表于 2013-1-16 13:34
 楼主| 发表于 2013-1-16 13:33 | 显示全部楼层
不知道哪有问题,没有得到想要的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-1-16 13:46 | 显示全部楼层
(setq lsta '("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k"))
(setq lstb '("m01" "m02" "m03" "m04" "m05" "m06" "m07" "m08" "m09" "m010" ))

(mapcar  '(lambda (x y)
          (set (read y) x)
          )
         lsta lstb
)

点评

谢谢大师  发表于 2013-1-16 15:04
 楼主| 发表于 2013-1-16 13:52 | 显示全部楼层
试了下,字符串之间是不能赋值的,只能这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-1-16 14:02 | 显示全部楼层
本帖最后由 highflybir 于 2013-1-16 14:03 编辑

(mapcar 'set (mapcar 'read lstb) lsta)字符串是常量,当然不能赋值。
只有变量才能赋值。

点评

谢谢高飞前辈  发表于 2013-1-16 14:06
发表于 2013-1-16 14:11 | 显示全部楼层
本帖最后由 lgdesign 于 2013-1-16 14:12 编辑
lisp爱好者 发表于 2013-1-16 13:33
不知道哪有问题,没有得到想要的


這二行改這樣看看是不是您要的結果
(setq lstb '(m01 m02 m03 m04 m05 m06 m07 m08 m09 m010))
(mapcar '(lambda(x y)(set x y))lstb  lsta )

点评

5楼已经是改成这样的结果了,感谢指点  发表于 2013-1-16 15:05
发表于 2013-1-16 14:26 | 显示全部楼层
4楼算是正解,但4楼两个表元素数量不相等,所以不会出结果。

点评

谢谢,我观察不够,没发现数量不对,难怪出不了结果  发表于 2013-1-16 15:06
 楼主| 发表于 2013-1-16 15:11 | 显示全部楼层
一直没有搞清楚append mapcar  lambda他们之间的用法,
发表于 2013-1-16 18:33 | 显示全部楼层
又学一招了,,,,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-8 13:57 , Processed in 0.391033 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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