小编JOw*_*wen的帖子

Python相当于Mathematica的Sow/Reap

假设在Mathematica中我定义了以下函数:

f[list_] := Map[Prime[Sow[#]] &, list];
Run Code Online (Sandbox Code Playgroud)

它输出一个素数列表,这样如果输入列表在位置i有n,那么输出列表将包含位置i的第n个素数.例如,

In[2]:= f[{1, 3, 4}]

Out[2]= {2, 5, 7}
Run Code Online (Sandbox Code Playgroud)

现在,如果由于某种原因(调试等...)我想检查输入到Prime函数中的值.由于Sow函数中的命令,我可以做到

In[3] := Reap[f[{1, 3, 4}]]

Out[3] := {{2, 5, 7}, {{1, 3, 4}}}
Run Code Online (Sandbox Code Playgroud)

有关Sow/Reap的更多详细信息,请参阅Wolfram文档.我的问题是,有没有相当于Mathematica的Sow and Reap功能的天然Python?特别是,有没有办法做这种事情,而不是从你想要做的python函数显式返回额外的东西,编写几乎相同但返回额外的东西,或使用全局变量的第二个python函数?

python wolfram-mathematica

10
推荐指数
1
解决办法
947
查看次数

标签 统计

python ×1

wolfram-mathematica ×1