将函数映射到列表列表并将结果连接到列表中

时间:2017-05-30 15:06:22

标签: scheme mapping concatenation racket

如何在列表列表(列表(列表1 2)(列表3 4))上映射函数(例如x),同时连接结果。例如,结果将是(1 4 9 16)。 我在网上找不到任何详细的解释......感谢任何建议!

最诚挚的问候,尤尼斯

1 个答案:

答案 0 :(得分:1)

试试这个:

(append-map (lambda (slst) (map sqr slst))
            (list (list 1 2) (list 3 4)))

每个数字最里面的map个方格,最外面的append-map遍历子列表,并在末尾附加它们。如果您的语言不支持append-map,那么这是一个等效的解决方案:

(apply append
       (map (lambda (slst) (map sqr slst))
            (list (list 1 2) (list 3 4))))