Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据另一阵列中的可用范围调整numpy阵列_Python_List_Numpy_Schedule - Fatal编程技术网

Python 根据另一阵列中的可用范围调整numpy阵列

Python 根据另一阵列中的可用范围调整numpy阵列,python,list,numpy,schedule,Python,List,Numpy,Schedule,我有一个numpy数组(a),它表示几个活动的开始时间。我还有另一个numpy数组(b)的活动无法运行的时间。如何找到根据(b)及其年乘法(365*1)+b,(365*2)+b,(365*3)+b调整(a)的数组(c)。。。(365*n)+b 例如,如果我们将(a)中的第一个活动从0开始,则应根据(b)将其调整为从8开始,因为时段0-7不可用。这将自动将从7开始的第二个活动转换为从15=(7+8)开始。第三项活动从76开始,应在84开始,但84是一个无法操作的日子。因此,它必须在85到101之间

我有一个numpy数组(a),它表示几个活动的开始时间。我还有另一个numpy数组(b)的活动无法运行的时间。如何找到根据(b)及其年乘法(365*1)+b,(365*2)+b,(365*3)+b调整(a)的数组(c)。。。(365*n)+b

例如,如果我们将(a)中的第一个活动从0开始,则应根据(b)将其调整为从8开始,因为时段0-7不可用。这将自动将从7开始的第二个活动转换为从15=(7+8)开始。第三项活动从76开始,应在84开始,但84是一个无法操作的日子。因此,它必须在85到101之间部分运行,而该活动的另一部分必须在105之后继续,因为101-105范围不可用。生成的数组(c)应通过调整数组(a)中第四个活动的开始时间(从107开始)来反映此拆分

因此,在概念上,数组(c)的大小应该与数组(a)的大小相同,前四个值应该是:

c=[8,15,86,121,...
谢谢你的帮助


注意:数组(a)未排序,顺序很重要

所有的活动都很长吗?让我们一步一步来。首先,尝试基于Python列表而不是Numpy数组找到一个有效的解决方案。一旦成功,我们可以优化代码以使用Numpy。创建输出列表
c=[]
并向其附加解决方案:
c.append(4)
使用Python的中的运算符查找列表中是否有与中的组合的内容。对于
b
中的值和
a
中的值,还需要模运算符。
c=[8,15,86,121,...