当使用⌸
键生成频率表时,例如
{⍺,≢⍵}⌸'mississippi'
┌→──┐
↓m 1│
│i 4│
│s 4│
│p 2│
└+──┘
我经常发现自己想要“播种”结果集,以便为我知道丢失的任何项目提供 0 计数。如果我们正在进行字母频率分布分析,我们可能希望提供 0 作为所有 ⎕A
的基值。谁能推荐一种在 Dyalog APL 中实现这一目标的好方法?
最佳答案
如果您正在“对”⎕A 执行频率分析,那么与 ⎕A 具有相同形状的结果实际上可能比 ⌸ 的输出更容易使用:
⎕A (+/∘.=) 'MISSISSIPPI'
(我认为 Dyalog 知道如何优化它,以便它实际上不会创建 26×n 二进制数组,然后对行求和。)
另一种选择是首先将字母表附加到输入中,然后将所有计数减 1。
{⍺,(≢⍵)-1}⌸ 'MISSISSIPPI',⎕A
关于apl - 在 Dyalog APL 中使用 ⌸ 时如何提供默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76445468/