使用Pure Function访问和选择特定的子列表元素

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)

Mar*_*lig 5

你几乎在那里:

(#[[3]]/2 + #[[1]]/3) &[list[[1]]]
Run Code Online (Sandbox Code Playgroud)

#1是函数的第一个参数,#3是第三个参数.您只提供一个参数,即list [[1]].由于列表[[1]]是一个列表,因此它映射到您的函数上.#[[1]]和#[[3]]指定第一个参数的第一个和第三个部分/元素.