提供:
list = {{z, x, c, d}, {1, 2, 3, 4}}
我想做以下事情:
(#3/2 + #1/3) &[list[[1]]]
可悲的是导致:
虽然我想要的输出是:
获得:
(#3/2 + #1/3) &[z, x, c, d]
试图这样做:
Select[list[[2]], # > 2 &]
如果可能,我如何用 # 指定子列表?
答案 , 礼貌 列昂尼德 (在下面的评论中有详细说明):
Select[#[[2]], # > 2 &] &[list]
最佳答案
你快到了:
(#[[3]]/2 + #[[1]]/3) &[list[[1]]]
#1 是函数的第一个参数,#3 是第三个参数。您只提供
一个参数,即列表[[1]]。由于 list[[1]] 是一个列表,它被映射
超过你的功能。
#[[1]] 和 #[[3]] 指定第一个参数的第一和第三部分/元素。
关于list - 使用纯函数访问和选择特定的子列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6226364/