小编S0r*_*rin的帖子

Numpy python找到每列的最小值,并从每列中减去该值

任何人都可以帮助使用numpy和python的代码片段?

给定一个像numpy数组一样的数组

a = array([[1,11], [3,9], [5,7]]
Run Code Online (Sandbox Code Playgroud)

我想找到每列的最小值,所以1和7然后从各列中减去这个值,

a = array([[0,4], [2,2], [4,0]]
Run Code Online (Sandbox Code Playgroud)

python numpy

21
推荐指数
1
解决办法
1万
查看次数

如何在Scala中使用原语?

我可以在Scala中使用原语吗?

用例用于存储数十亿的整数,因此4个字节(对于int)和16个字节(对于整数)之间的差异很重要.

scala primitive-types

16
推荐指数
2
解决办法
4881
查看次数

10
推荐指数
2
解决办法
941
查看次数

Haskell前奏函数可以简化为一组核心函数吗?

Haskell前奏函数是否可以简化为一组核心函数,以便可以根据核心集定义所有其他函数?如果是这样,核心功能是什么?

haskell functional-programming

6
推荐指数
1
解决办法
148
查看次数

Prolog效率:事实统一还是列表成员?

鉴于以下事实:

pos(a,1).
pos(b,2).
pos(c,3).
Run Code Online (Sandbox Code Playgroud)

我想找到一个角色的位置.例如,pos(b,P)P = 2.

将这些事实转换为列表并进行成员资格检查是否更好,如下所示:

member(X/P,[a/1,b/2,c/3])
Run Code Online (Sandbox Code Playgroud)

我认为第一种选择更好,但任何人都可以解释每种方法的优缺点吗?

注意,这只是一个简单的例子.我会有很多事实,例如100-1000,并且必须多次检查,例如100k +.

prolog

5
推荐指数
1
解决办法
193
查看次数

两个变体实现之间的差异

变体谓词的这两个实现之间是否存在逻辑差异?

variant1(X,Y) :-
 subsumes_term(X,Y),
 subsumes_term(Y,X).

variant2(X_,Y_) :-
  copy_term(X_,X),
  copy_term(Y_,Y),
  numbervars(X, 0, N),
  numbervars(Y, 0, N),
  X == Y.
Run Code Online (Sandbox Code Playgroud)

prolog iso-prolog

5
推荐指数
1
解决办法
780
查看次数

Prolog 高阶归约谓词

我们可以将高阶映射谓词定义为:

map([], [], F).
map([A|As], [B|Bs], F) :-
   call(F, A, B),
   map(As, Bs, F).
Run Code Online (Sandbox Code Playgroud)

同样,我们可以将fold (left)定义为:

fold([], Acc, Acc, _F).
fold([A|As], B, Acc1, F) :-
   call(F, Acc1, A, Acc2),
   fold(As, B, Acc2, F).
Run Code Online (Sandbox Code Playgroud)

reduce(左)的正确定义是什么?我们可以这样定义吗?

reduce([A|As], Bs, F) :-   
   fold(As, Bs, A, F).
Run Code Online (Sandbox Code Playgroud)

减少(右)如下?

reduceback([], Ident, F) :-
   identity(F, Ident).
reduceback([A|As], B, F) :-
   reduceback(As, C, F),
   call(F, C, A, B).
Run Code Online (Sandbox Code Playgroud)

这些正确吗?

prolog higher-order-functions meta-predicate

5
推荐指数
1
解决办法
578
查看次数

Haskell'任何'功能 - 素性检查

我正在尝试is_prime在Haskell中定义一个函数.任何人都可以指出使用任何功能的问题?

另外,我知道下面的代码是天真的,但我正在学习语言,所以从babysteps开始.

is_prime 0 = False
is_prime 1 = False
is_prime 2 = True
is_prime n = any [n `mod` k == 0 | k <- [2.. sqrt n]]
Run Code Online (Sandbox Code Playgroud)

haskell

4
推荐指数
1
解决办法
3020
查看次数

Prolog (swi-pl) 中长度/2 的逻辑推理次数

我预计内置 length/2 谓词与逻辑推理的数量呈线性关系。然而,它似乎是恒定的:

?- length(L,10),time(length(L,X)).
% 2 inferences, 0.000 CPU in 0.000 seconds (63% CPU, 142857 Lips)

?- length(L,20),time(length(L,X)).
% 2 inferences, 0.000 CPU in 0.000 seconds (62% CPU, 153846 Lips)

?- length(L,30),time(length(L,X)).
% 2 inferences, 0.000 CPU in 0.000 seconds (65% CPU, 111111 Lips)
Run Code Online (Sandbox Code Playgroud)

这是因为程序被委托给C了吗?我在 SWIPL 代码库中找不到相关代码。

prolog swi-prolog

4
推荐指数
1
解决办法
159
查看次数

将迭代的两个和k转换为函数

我在Python中有这个代码,它找到数组中总和为k的所有数字对:

def two_sum_k(array, k):
    seen = set()
    out = set()

    for v in array:
        if k - v in seen:
            out.add((min(v, k-v), max(v, k-v)))
        seen.add(v)
    return out
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我将其转换为Scala(功能样式)吗?也具有线性复杂性.

functional-programming scala

3
推荐指数
2
解决办法
274
查看次数

如何在循环中使用here文档?

这有效:

name="test.txt"

yap -q << % > $name
  [experiment_yap],
  exp1_min(brother,2).
%
Run Code Online (Sandbox Code Playgroud)

这不是:

for i in 01 02 03 04 05
do
  name="test.txt"

  yap -q << % > $name
    [experiment_yap],
    exp1_min(brother,2).
  %
done
Run Code Online (Sandbox Code Playgroud)

我收到第19行:语法错误:意外的文件结束

bash shell

3
推荐指数
1
解决办法
1439
查看次数

Prolog中的Python计数器

在Python中你可以做到

>>> import from collections counter
>>> Counter(['a','b','b','c'])
>>> Counter({'b': 2, 'a': 1, 'c': 1})
Run Code Online (Sandbox Code Playgroud)

Prolog有类似的东西吗?像这样:

counter([a,b,b,c],S). 
S=[a/1,b/2,c/1].
Run Code Online (Sandbox Code Playgroud)

这是我的实施:

counter([],List,Counts,Counts).

counter([H|T],List,Counts0,[H/N|Counts]):-
  findall(H, member(H,List), S),
  length(S,N),
  counter(T,List,Counts0,Counts).

counter(List,Counts):-
  list_to_set(List,Set),
  counter(Set,List,[],Counts).
Run Code Online (Sandbox Code Playgroud)

它相当冗长,所以我想知道是否有内置谓词或更简洁的实现.

prolog

0
推荐指数
1
解决办法
169
查看次数