我正在尝试为我正在创建的类创建切片功能,以创建矢量表示.
到目前为止我有这个代码,我相信它会正确地实现切片,但每当我做一个调用,就像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中有一个简单的方法来判断某些东西是不是一个序列?我试着这么做:
if x is not sequence但是python并不喜欢这样
有没有办法让模式匹配与我的值匹配任何负数?负数是什么并不重要我只需要与任何负数相匹配.
我用这个简单的代码完成了我想要的东西:
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声明中的另一个案例进行检查
我有两个函数f和g,我正在努力,return f(g(x))但我不知道x的价值,我不确定如何去做这个.
更具体的例子:如果我有功能,f = x + 1以及g = x * 2和我想return f(g(x))我应该得到相同的功能(x*2) + 1