apl - 在 Dyalog APL 中使用 ⌸ 时如何提供默认值

标签 apl dyalog

当使用键生成频率表时,例如

      {⍺,≢⍵}⌸'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/

相关文章:

c++ - 有没有办法在 Dyalog APL 中⎕NA 导入一个 dll 导出的 C++ 类?

kdb - Dyalog APL 和 q 之间的进程间通信

file - 读取 FITS 文件

math - 比较传统数学符号与 APL/J 符号的示例

function - 使用 APLEdit 在 gnu-apl 中创建函数

functional-programming - APL - 如何找到字符串向量中最长的单词?

split - 如何在 APL 中将数字拆分为数字

php - APL 中的爆炸和内爆

debugging - 在 Dyalog RIDE 中设置条件断点

apl - Dyalog APL 中的并行 session