500*_*500 3 wolfram-mathematica function list
提供:
list = {{z, x, c, d}, {1, 2, 3, 4}}
Run Code Online (Sandbox Code Playgroud)
我想做以下事情:
(#3/2 + #1/3) &[list[[1]]]
Run Code Online (Sandbox Code Playgroud)
遗憾的是导致:

虽然我想要的输出是:

获得:
(#3/2 + #1/3) &[z, x, c, d]
Run Code Online (Sandbox Code Playgroud)
试着这样做:
Select[list[[2]], # > 2 &]
Run Code Online (Sandbox Code Playgroud)
如果可能的话,如何用#指定子列表?
答案,礼貌Leonid(详见下面的评论):
Select[#[[2]], # > 2 &] &[list]
Run Code Online (Sandbox Code Playgroud)
你几乎在那里:
(#[[3]]/2 + #[[1]]/3) &[list[[1]]]
Run Code Online (Sandbox Code Playgroud)
#1是函数的第一个参数,#3是第三个参数.您只提供一个参数,即list [[1]].由于列表[[1]]是一个列表,因此它映射到您的函数上.#[[1]]和#[[3]]指定第一个参数的第一个和第三个部分/元素.