小编nic*_*ine的帖子

Python:在__getitem__中实现切片

我正在尝试为我正在创建的类创建切片功能,以创建矢量表示.

到目前为止我有这个代码,我相信它会正确地实现切片,但每当我做一个调用,就像v[4]v是一个向量python返回一个关于没有足够的参数的错误.所以我试图弄清楚如何getitem在我的类中定义特殊方法来处理普通索引和切片.

def __getitem__(self, start, stop, step):
    index = start
    if stop == None:
        end = start + 1
    else:
        end = stop
    if step == None:
        stride = 1
    else:
        stride = step
    return self.__data[index:end:stride]
Run Code Online (Sandbox Code Playgroud)

python slice python-datamodel

99
推荐指数
5
解决办法
6万
查看次数

Python:检查对象是否是序列

在python中有一个简单的方法来判断某些东西是不是一个序列?我试着这么做: if x is not sequence但是python并不喜欢这样

python if-statement sequences sequence

58
推荐指数
6
解决办法
3万
查看次数

OCaml:与任何负面匹配

有没有办法让模式匹配与我的值匹配任何负数?负数是什么并不重要我只需要与任何负数相匹配.

我用这个简单的代码完成了我想要的东西:

let y = if(n < 0) then 0 else n in   
match y with  
0 -> []  
| _ -> [x] @ clone x (n - 1)
Run Code Online (Sandbox Code Playgroud)

但我想删除该if声明,并将其作为match声明中的另一个案例进行检查

ocaml pattern-matching negative-number

6
推荐指数
2
解决办法
3842
查看次数

OCaml:没有定义值的Currying

我有两个函数f和g,我正在努力,return f(g(x))但我不知道x的价值,我不确定如何去做这个.

更具体的例子:如果我有功能,f = x + 1以及g = x * 2和我想return f(g(x))我应该得到相同的功能(x*2) + 1

ocaml return function currying

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