乐筑天下

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

[编程交流] 排序列表(2次)

[复制链接]

13

主题

48

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 09:45:56 | 显示全部楼层 |阅读模式
好了,伙计们,你们有一个让我抓狂的难题。
我目前的情况是,我需要以特定的顺序x2列出以下列表
第一个顺序需要在列表的(第n个x(第n个0))部分中设置。列表的这部分需要按字母顺序排列,就像它当前在这个列表中一样。(正好从那边出来)
 
第二个排序将发生在列表的(第n个1(第n个x(第n个1)))部分,并且它需要在列表的列表中按数字顺序排列。
正在尝试各种各样的东西,但无法解决从VL排序到VL的所有问题。请删除最小值并返回附加值,然后重试(变得非常混乱)
 
在这一切都是秩序,它将需要保存回它自己。
 
当前结构
  1. (LIST(LIST)(LIST(LIST)))

当前设置
  1. '((("W1" 18.0 10.5 "X")
  2.                           (("W2" 282.0)
  3.                           ("W3" 2.0)
  4.                           ("W6" 205.5)
  5.                           ("W7" 78.5)))
  6. (("W2" 300.0 12.5 "Y")
  7.                           (("W1" 2.0)
  8.                           ("W8" 120.0)))
  9. (("W3" 20.0 12.5 "Y")
  10.                           (("W1" 2.0)
  11.                           ("W8" 120.0)))
  12. (("W4" 98.0 68.0 "X")
  13.                           (("W5" 62.0)
  14.                           ("W6" 125.5)
  15.                           ("W7" 1.5)))
  16. (("W5" 160.0 69.5 "Y")
  17.                           (("W4" 1.5)
  18.                           ("W8" 63.0)))
  19. (("W6" 223.5 12.5 "Y")
  20.                           (("W1" 2.0)
  21.                           ("W4" 55.5)
  22.                           ("P2" 37.5)))
  23. (("W7" 96.5 12.5 "Y")
  24.                           (("W1" 2.0)
  25.                           ("W4" 55.5)
  26.                           ("P1" 37.5)))
  27. (("W8" 18.0 132.5 "X")
  28.                           (("W2" 282.0)
  29.                           ("W3" 2.0)
  30.                           ("W5" 142.0)))
  31. (("P1" 68.0 50.0 "X")
  32.                           (("W7" 28.5)))
  33. (("P2" 225.0 50.0 "X")
  34.                           (("W6" 1.5))))

 
你们能在这方面提供任何帮助,或者为我指出正确的方向,都会帮上大忙。
 
提前谢谢你。
 
CadWarrior公司
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:01:32 | 显示全部楼层
??
 
  1. (defun _sortAlph (lst)
  2. (vl-sort
  3.    (mapcar
  4.      (function
  5.        (lambda (x) (cons (car x) (vl-sort (cdr x) (function (lambda (a b) (< (car a) (car b)))))))
  6.      )
  7.      lst
  8.    )
  9.    (function (lambda (a b) (< (caar a) (caar b))))
  10. )
  11. )
  12. (defun _sortNum (lst)
  13. (vl-sort
  14.    (mapcar
  15.      (function
  16.        (lambda (x)
  17.          (cons
  18.            (car x)
  19.            (vl-sort
  20.              (cdr x)
  21.              (function (lambda (a b) (< (distof (substr (car a) 2)) (distof (substr (car b) 2)))))
  22.            )
  23.          )
  24.        )
  25.      )
  26.      lst
  27.    )
  28.    (function (lambda (a b) (< (distof (substr (caar a) 2)) (distof (substr (caar b) 2)))))
  29. )
  30. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:11:54 | 显示全部楼层
可能不需要距离。。。
 
  1. (defun _sortNum (lst)
  2. (vl-sort
  3.    (mapcar
  4.      (function
  5.        (lambda (x)
  6.          (cons (car x)
  7.                (vl-sort (cdr x)
  8.                         (function (lambda (a b) (< (distof (substr (car a) 2)) (substr (car b) 2))))
  9.                )
  10.          )
  11.        )
  12.      )
  13.      lst
  14.    )
  15.    (function (lambda (a b) (< (substr (caar a) 2) (substr (caar b) 2))))
  16. )
  17. )
回复

使用道具 举报

13

主题

48

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 10:17:25 | 显示全部楼层
谢谢你的帮助Alanjt
好的_sortalph很管用,但我想你误解了_sortnum,这是我的错。
请在下面了解更多信息。
 
原始列表
  1. ((("W1" 18.0 10.5 "X")
  2.                           (("W2" 282.0)
  3.                           ("W3" 2.0)
  4.                           ("W6" 205.5)
  5.                           ("W7" 78.5)))

 
新建列表
 
  1. ((("W1" 18.0 10.5 "X")
  2.                           (("W3" 2.0)
  3.                           ("W7" 78.5)
  4.                           ("W6" 205.5)
  5.                           ("W2" 282.0)))

 
希望这能澄清一点。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:28:08 | 显示全部楼层

 
  1. (defun _Sort ( lst )
  2. (mapcar
  3.    (function
  4.      (lambda ( item )
  5.        (list (car item)
  6.          (vl-sort (cadr item)
  7.            (function
  8.              (lambda ( a b ) (< (cadr a) (cadr b)))
  9.            )
  10.          )
  11.        )
  12.      )
  13.    )
  14.    lst
  15. )
  16. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:36:38 | 显示全部楼层
?
  1. (defun _sortNum (lst)
  2. (vl-sort
  3.    (mapcar
  4.      (function
  5.        (lambda (x)
  6.          (cons (car x)
  7.                (vl-sort (cdr x)
  8.                         (function (lambda (a b) (< (cadr a) (cadr b))))
  9.                )
  10.          )
  11.        )
  12.      )
  13.      lst
  14.    )
  15.    (function (lambda (a b) (< (caar a) (caar b))))
  16. )
  17. )

 
无法测试。
回复

使用道具 举报

13

主题

48

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2022-7-6 10:53:54 | 显示全部楼层
非常感谢。非常感谢。非常感谢。非常感谢。非常感谢。
感谢Alanjt按字母顺序正确排序。
感谢李·麦克正确的数字排序。
 
现在,如果你们能给我解释一下,我将非常感激,因为在这个时候,我无法开始思考如何工作这一点。这种排序方式让我大吃一惊,我习惯了MySQL之类的基于表的程序
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:34 , Processed in 0.329423 second(s), 66 queries .

© 2020-2025 乐筑天下

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