乐筑天下

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

[编程交流] 分析列表

[复制链接]

56

主题

175

帖子

119

银币

后起之秀

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

铜币
280
发表于 2022-7-5 16:10:01 | 显示全部楼层 |阅读模式
大家好,
 
如何将列表解析为四个元素:
 
列表:(x1 x2 x3 x4 x5 x6 x7 x8 x9 x10……)
 
转换为:
 
列表1=((x1 x2 x3 x4)(x5 x6 x7 x8)(x9 x10 x11 x12)(x13 x14 x15 x16)……)
 
提前感谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:27:30 | 显示全部楼层
你好
 
您没有声明您在该列表中拥有什么类型的项目,所以我假设它们同时是数字。
下面是我使用递归过程的尝试。
 
  1. (defun 4items (lst)
  2. (if lst (cons (if (> (length lst) 3) (list (car lst) (cadr lst) (caddr lst) (nth 3 lst)) lst) (4items (cddddr lst))))
  3. )

 
上述代码的使用:
  1. (4items '(1 2 3 4 5 6 7 8 9 10 11 12 13))
回复

使用道具 举报

56

主题

175

帖子

119

银币

后起之秀

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

铜币
280
发表于 2022-7-5 16:47:33 | 显示全部楼层
嗨,非常感谢你。
是的,你想当然了。,它们都是列表中的数字,我的问题已经解决了。
再次感谢你的帮助。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:01:58 | 显示全部楼层
很高兴听到这个消息。
 
不客气。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 17:11:00 | 显示全部楼层
FWIW,Lee Mac有这个
 
我也想玩:
  1. ; _$ (foo 4 (mapcar 'chr (vl-string->list "ABCDEFGHIJKLMNOPQRSTUVWXYZ")))
  2. ; (("A" "B" "C" "D") ("E" "F" "G" "H") ("I" "J" "K" "L") ("M" "N" "O" "P") ("Q" "R" "S" "T") ("U" "V" "W" "X") ("Y" "Z"))
  3. (defun foo ( n L / r )
  4. (repeat n (and L (setq r (cons (car L) r))) (setq L (cdr L)) r)
  5. (if L (cons (reverse r) (foo n L)) (list (reverse r)))
  6. )  

 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-20 23:45 , Processed in 1.932341 second(s), 63 queries .

© 2020-2025 乐筑天下

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