robierzo 发表于 2022-7-6 07:30:49

转换两个列表

你好我需要用mapcar、lambda转换两个列表。。。。。
例子:

(setq lista '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63))))
转换为:

'((5 10) (4 9) (12 63))

这可能吗?
不能用于每个!!!
当做

Tharwat 发表于 2022-7-6 07:37:22

试试这个。。。
 

(mapcar (function (lambda (x) (setq l (cons (cdr x) l)))) '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63))))
(apply 'append (reverse l))

 
使用foreach函数。
 

(foreach x '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63))) (setq lst (cons (cdr x) lst)))
(apply 'append (reverse lst))

robierzo 发表于 2022-7-6 07:46:01

O、 K.,塔尔瓦特。它工作得很好。谢谢

Tharwat 发表于 2022-7-6 07:52:31

 
随时欢迎你。

BearDyugin 发表于 2022-7-6 07:58:21

(setq lista '((1.236 (5 10)) (5.3214 (4 9)) (7.6541 (12 63))))
(mapcar        (function (lambda (x) (cadr x)))
lista
)

robierzo 发表于 2022-7-6 08:02:56

Geobuilder。太棒了。非常感谢你。

Lee Mac 发表于 2022-7-6 08:08:16

(mapcar 'cadr lista)

robierzo 发表于 2022-7-6 08:13:29

jajajaja。非常非常好,李。
我想不能再减少了。杰杰耶

Lee Mac 发表于 2022-7-6 08:22:21

..........

BearDyugin 发表于 2022-7-6 08:27:13

我很惭愧
页: [1] 2
查看完整版本: 转换两个列表