我有list1
和一个叫做n
的因子。现在,我做了一个奇怪的操作,根据因子n
(>;1)从list1
返回list2
。举个例子:
list1=[1,2,3,4,5,6,7,8,9,10]
n=2
list2=[3,7,11,15,19]
注意list2
是通过将相邻的数字。另一个例如:
list1=[1,2,3,4,5,6,7,8,9,10]
n=2.5
list2=[4.5,10.5,17,23]
在这种情况下:n
=2.5。所以list2
中的第一个元素=list1[0]+list1[1]+0.5*list1[2]
,第二个元素是0.5*list1[2]+list1[3]+list1[4]
,依此类推。len(list2)=ceil(len(list1)/n)
我可以通过递归地应用我编写的以下函数来实现n=2、4、8等。你知道吗
def (list1,n):
list2len=ceil(len(list1)/n)
tmparr=np.empty(list2len,dtype=float)
for i in range(0, list2len) :
j=2*i
tmparr[i]=Filter[j]+Filter[j+1]
list2=np.empty(list2len,dtype=float)
np.copyto(list2,tmparr)
但是,我不知道如何在python中为n~=2^m编写代码。有什么帮助吗?你知道吗
这是一种方法:
相关问题 更多 >
编程相关推荐