robierzo 发表于 2022-7-6 07:32:45

添加两个列表。

我需要添加两个列表。在列表2的每个成员中添加一个。结果将是列表3。
(setq lista2 '((0.0 14.127) (10.314 6.634) (6.374 -5.491) (-6.374 -5.491) (-10.314 6.634)))
(setq lista1 '(150.0 200.0))
 
结果:
lista3 ((150.0 214.127) (160.314 206.634).......(139.686 206.634))

BlackBox 发表于 2022-7-6 07:39:05


(append (list lista1) lista2)

robierzo 发表于 2022-7-6 07:45:44

伦德曼,这不对。你必须使用mapcar和lambda。但不知道怎么做

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



(foreach x lista2 (setq l (cons (list (+ (car x) (car lista1)) (+ (cadr x) (cadr lista1))) l)))
(reverse l)

Lee Mac 发表于 2022-7-6 07:57:52

(mapcar '(lambda ( a ) (mapcar '+ a lista1)) lista2)

robierzo 发表于 2022-7-6 08:04:44

O、 K.感谢这三个人。李的选择是我想要的。
当做

BlackBox 发表于 2022-7-6 08:11:45

尊敬的是,您在原来的帖子中忽略了指定Mapcar和Lambda的要求。
 
我尽量不建议使用更复杂的函数,因为人们忽略了演示更简单的函数(在本例中为Append)的知识。。。当然,这并不是因为我认为我比其他人知道得多,而是因为这就是我学习的方式。
 
其次,如果您测试了我发布的代码,您会看到它实现了您在原始帖子中演示的功能(将列表A1附加到列表A2的前面)。
... 我被纠正了。
 
谢天谢地,鉴于补充标准,其他人已经回答了你的问题。

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

 
再仔细看看OP的需求Renderman——您提出的解决方案与此线程中发布的其他解决方案不同。

BlackBox 发表于 2022-7-6 08:25:06

后更正。

robierzo 发表于 2022-7-6 08:27:20

很抱歉我的英文是谷歌的英文翻译。它既古老又贫穷,但我不知道更多。我尽我所能表达自己。
非常感谢。
页: [1] 2
查看完整版本: 添加两个列表。