乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 11|回复: 11

[编程交流] 将列表转换为其他列表

[复制链接]

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-5 22:34:33 | 显示全部楼层 |阅读模式
请帮助如何转换此列表
  1. (setq a'("1 2.33 6.45 8.46" "2 8.98 4.78 1.58" "3 4.51 7.12 2.35" "4 6.95 5.64 7.82"))

添加到此列表
  1. (setq a '((1 2.33 6.45 8.46)(2 8.98 4.78 1.58)(3 4.51 7.12 2.35)(4 6.95 5.64 7.82)))
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 22:41:13 | 显示全部楼层
拆分列表?
回复

使用道具 举报

7o7

0

主题

93

帖子

93

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 22:49:06 | 显示全部楼层
您可以使用:
  1. (mapcar '(lambda(x) (read (strcat "(" x ")"))) a)
回复

使用道具 举报

63

主题

242

帖子

181

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
319
发表于 2022-7-5 22:54:57 | 显示全部楼层
非常感谢你
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 22:56:25 | 显示全部楼层
另一个
 
  1. (defun 2->list (l)
  2. (if l (setq l (cons (read (strcat "(" (car l) ")")) (2->list (cdr l)))))
  3. )
回复

使用道具 举报

7o7

0

主题

93

帖子

93

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:04:18 | 显示全部楼层
不客气motee-z。
@塔尔瓦特:
感谢您的选择,但在这种情况下,我认为使用mapcar比递归更容易理解。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:07:28 | 显示全部楼层
 
我确实同意你的观点。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:13:52 | 显示全部楼层
请注意,setq表达式不需要重新定义变量“l”-
由于cons表达式是最后一个计算的表达式,因此将构造并返回该列表。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 23:18:52 | 显示全部楼层
 
你说得对,谢谢李花时间纠正我。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 23:28:59 | 显示全部楼层
不客气
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 06:25 , Processed in 0.364628 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表