小编Ala*_*n C的帖子

OCaml cons(::)运算符?

在OCaml中,有没有办法自己引用cons运算符?

例如,我可以使用(+)( * )作为int -> int -> int函数,但我不能(::)用作'a -> 'a list -> 'a list函数,如下例所示:

# (+) 3 5;;
- : int = 8
# ( * ) 4 6;;
- : int = 24
# (::) 1 [2;3;4];;
Error: Syntax error: operator expected.
Run Code Online (Sandbox Code Playgroud)

有没有办法产生一个像(::)以外的结果fun x y -> x::y?有谁知道为什么(::)没有在OCaml中实现?

ocaml cons

12
推荐指数
3
解决办法
8185
查看次数

意外的结果 - 函数常量的函数numpy

我期待np.fromfunction(lambda i: 1, (4,), dtype=int)返回array([1, 1, 1, 1]),但它返回整数1.有人可以向我解释为什么numpy.fromfunction表现那样吗?它似乎与匿名函数的定义有关(即,是否实际使用了函数的参数).

>>> import numpy as np

>>> np.fromfunction(lambda i: i, (4,), dtype=int)
array([0, 1, 2, 3])

>>> np.fromfunction(lambda i: 1, (4,), dtype=int)
1

>>> np.fromfunction(lambda i: 1 + i*0, (4,), dtype=int)
array([1, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)

编辑:澄清一下,我的最终目标不是array([1, 1, 1, 1])使用这种方法创建.相反,我正在打电话给表格

np.fromfunction(lambda i: **an expression that doesn't depend on i**, (n,))
Run Code Online (Sandbox Code Playgroud)

换句话说,我试图通过反复调用某个函数来初始化一个numpy数组.(在该函数中调用了np.random.random(),因此我没有进行冗余调用.)

python numpy

8
推荐指数
2
解决办法
1014
查看次数

标签 统计

cons ×1

numpy ×1

ocaml ×1

python ×1