给定一个数组,如何使用我们选择的函数在Python中创建多个新数组?(Numpy或其他)
考虑以下几点: 假设我们有一个任意长度L的整数数组给定一个数组,如何使用我们选择的函数在Python中创建多个新数组?(Numpy或其他),python,arrays,numpy,Python,Arrays,Numpy,考虑以下几点: 假设我们有一个任意长度L的整数数组 [a,b,c,...,z] 我知道我们可以轻松拆分此数组并创建多个长度为n的数组:[a,b],[c,d],…,[y,z] 如何拆分此数组并返回以下内容: [a,b,c],[b,c,d],[c,d,e],…,[w,x,y],[x,y,z] 本质上,如果给定一个数组,我们可以使用我们选择的任何函数从该数组创建新数组吗?函数的类型是否会影响我们如何执行此操作?我们能得到多少幻想 我发现的大部分内容都涉及首先对阵列进行切片,然后对新阵列执行操作。我想
[a,b,c,...,z]
我知道我们可以轻松拆分此数组并创建多个长度为n的数组:[a,b],[c,d],…,[y,z]
如何拆分此数组并返回以下内容:
[a,b,c]
,[b,c,d]
,[c,d,e]
,…,[w,x,y]
,[x,y,z]
本质上,如果给定一个数组,我们可以使用我们选择的任何函数从该数组创建新数组吗?函数的类型是否会影响我们如何执行此操作?我们能得到多少幻想
我发现的大部分内容都涉及首先对阵列进行切片,然后对新阵列执行操作。我想根据我选择的函数创建数组 只需使用索引对数组进行切片,并将窗口移动一步即可。休息时 窗口的大小小于预期值
a=[1,2,3,4,5,6,7,8,9]
def slicing_window(a,n):
new_arr=[]
if(len(a)<n):
return a
for i in range(0,len(a)):
if len(a[i:i+n])==n:
new_arr.append(a[i:i+n])
else:
break
return new_arr
slicing_window(a,3)
或
如果你有兴趣,只需列出
from toolz import sliding_window
map(list,sliding_window(3, a))
使用带有值或索引的“map”创建新的数组。这样你就可以创建一个你想要的函数。“我想根据我选择的函数对数组进行切片。”这是什么意思?你能提供一个示例代码来展示你想象它是如何工作的吗?
from toolz import sliding_window
list(sliding_window(3, a))# will generate tuples
from toolz import sliding_window
map(list,sliding_window(3, a))