wolfram-mathematica - 映射选择一个列表而不是第二个列表

标签 wolfram-mathematica

我有一个很大的多列数据文件,但对于这个问题,它可以简化如下:

data = {{"a", 2000}, {"a", 2010}, {"b", 1999}, {"b", 2004}, {"b", 
2006}, {"c", 2012}, {"c", 2014}};

然后我有一个我想从数据中提取年份值的项目列表,例如:
selectedList = {"b", "c"};

我可以通过使用 Select[] 然后遍历 selectedList 来做到这一点:
Table[
        Select[data, #[[1]] == selectedList[[i]] &][[All, 2]],

       {i, 1, Length[selectedList]}  ]

但是我想使用 Map,它应该比 Table 快。我可以做这个:
func[dat_, x_] := Select[dat, #[[1]] == x &][[All, 2]]

进而 :
func[data, #] & /@ selectedList

我正在寻找一种更优雅的方法来一步完成此操作,最好将 Select 直接映射到 selectedList

最佳答案

Cases[data, {#, x_} :> x] & /@ selectedList

关于wolfram-mathematica - 映射选择一个列表而不是第二个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10380445/

相关文章:

memory-management - Mathematica 内存不足

wolfram-mathematica - 数学 : is it possible to put AxesLabel for 3D graphics at the end of the axes as in 2D?

wolfram-mathematica - Mathematica RGB转灰度的详细计算

wolfram-mathematica - 在 Mathematica 中绘制分解树的最简单方法是什么?

wolfram-mathematica - 字体尺寸小于指示的尺寸

wolfram-mathematica - 为什么这行不通?选择中的动态

wolfram-mathematica - 如何在Mathematica中打印以n个前导零开头的整数?

math - 曲线拟合 : Find the smoothest function that satisfies a list of constraints

matlab - 如何在 Matlab 中调用 Mathematica 函数?

wolfram-mathematica - 在mathematica中,如何将初始条件作为ndsolve中的变量?