明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 838|回复: 2

[提问] 如何从表中 查找第一个数据最接近于0的那对数据 然后替换

[复制链接]
发表于 2022-3-13 22:41:30 | 显示全部楼层 |阅读模式
本帖最后由 f4800 于 2022-3-13 23:08 编辑

如何从表中  查找第一个数据最接近于0的那对数据   然后替换
比如
示例1
(
(-20.0 332.96)
(-19.2385 333.12)
(-17.8847 332.14)
(-11.091 332.24)
(-4.16108 332.2)
(-2.79833 333.81)
(0.0444494 333.79)       这一对数据的第一个数据最接近 0 ,  然后修改替换为  0   333.79
(1.47892 333.76)
(2.8191 333.9)
(5.13449 331.96)
(9.74579 331.8)
(12.0496 333.53)
(14.9349 333.68)
(20.0 333.85)
)



示例2
(
(-20.0 332.96 326)
(-19.2385 333.12 326)
(-17.8847 332.14 326)
(-11.091 332.24 326)
(-4.16108 332.2 326)
(-2.79833 333.81 326)
(-0.0564 333.79 326)       这一对数据的第一个数据最接近 0 ,  然后修改替换为  0   333.79  326
(1.47892 333.76 326)
(2.8191 333.9 326)
(5.13449 331.96 326)
(9.74579 331.8 326)
(12.0496 333.53 326)
(14.9349 333.68 326)
(20.0 333.85 326)
)

请问这里如何实现?  多谢了

多谢





发表于 2022-3-13 23:09:31 | 显示全部楼层
  1. (setq jin0
  2.         (apply 'min
  3.                 (mapcar
  4.                         (function
  5.                                 (lambda (x)
  6.                                         (abs (car x))
  7.                                 )
  8.                         )
  9.                         LST
  10.                 )
  11.         )
  12. )
  13. (or
  14.         (setq lst_jin0 (assoc (* jin0 -1) lst))
  15.         (setq lst_jin0 (assoc jin0 lst))
  16. )
  17. (subst (list 0.0 (cadr lst_jin0)) lst_jin0 lst)

试试

评分

参与人数 1明经币 +1 收起 理由
tryhi + 1

查看全部评分

 楼主| 发表于 2022-3-13 23:24:55 | 显示全部楼层

可行  大师。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:32 , Processed in 0.187352 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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