【问题标题】:Mathematica 2d list selectMathematica 2d 列表选择
【发布时间】:2014-03-03 04:35:35
【问题描述】:

我有一个 2D 列表 - 128 行,每行 128 个元素(此数据是为 ContourPlot 设置的)。我想从小于某个 epsilon 的组中快速选择项目。

例如,使用 3x3 列表:p = {{1,2,3},{4,5,1},{7,8,2}}

我想挑选出例如

{{1,2},{1},{2}}

我知道 Select[Flatten[p],#

有什么想法吗? (我必须使用 for 循环吗?)

瑞克

【问题讨论】:

  • Select[#, #<3& ]& /@ p ? (对嵌套的Functions 表示歉意,它确实有效,但它非常不可读)

标签: select wolfram-mathematica list-manipulation


【解决方案1】:

m感谢您提供具体的具体示例。

In[1]:= p = {{1, 2, 3}, {4, 5, 1}, {7, 8, 2}};
In[2]:= q = p //. {h___, m_ /; m > 2, t___} -> {h, t}

Out[2]= {{1, 2}, {1}, {2}}

或者用英语,在你反复替换每个具有(可能为空)开头和任何大于 2 的元素和(可能为空)结尾的列表之后,使 q 等于 p结尾。我会写 head 和 tail,但这些在 Mathematica 中已经有可能令人困惑的含义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 2011-11-09
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    相关资源
    最近更新 更多