Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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:将元素放入适当的间隔_Python_Arrays - Fatal编程技术网

Python:将元素放入适当的间隔

Python:将元素放入适当的间隔,python,arrays,Python,Arrays,我有一个表示间隔的数组 a=[1,3,5,7,9] 我有另一个数组 p=[2.5,7.9,6,5.7] 我想将p的元素分配到间隔中。结果数组将是间隔的下限 例如,以第一个元素为例,它位于第一个间隔1 编辑:根据编辑和回复,我相信以下是您的目标: a = [boundaries] p = [p]# this can be anything for i in p: for bound in a: if i > bound: pass

我有一个表示间隔的数组

 a=[1,3,5,7,9]
我有另一个数组

 p=[2.5,7.9,6,5.7]
我想将
p
的元素分配到间隔中。结果数组将是间隔的下限

例如,以第一个元素为例,它位于第一个间隔
1
编辑:根据编辑和回复,我相信以下是您的目标:

a = [boundaries]
p = [p]# this can be anything
for i in p:
    for bound in a:
        if i > bound:
            pass
        else:
            p1.append(bound)
使用如下代码:

a=[1,3,5,7,9]
pl=[2.5,7.9,6,5.7] 

for i in range(len(pl)):
         for j in range(len(a)-1):
                if  a[j]<= pl[i]<a[j+1]:
                      pl[i]=a[j]  
print  pl
a=[1,3,5,7,9]
pl=[2.5,7.9,6,5.7]
对于范围内的i(len(pl)):
对于范围内的j(透镜(a)-1):

如果a[j],代码似乎卡在第二个while循环中,并且在不检查外部while条件的情况下永远增加i的值。这是因为它永远不会增加j的值,所以第二个循环的条件永远是真的。顺便说一下,你对问题的描述还不清楚,你可以考虑清楚你到底在寻找什么,哪一部分不清楚?我不明白你在寻找什么,我是说你的代码的逻辑。但是上面的代码不起作用的原因是我在上面的评论,现在它足够好了吗?我理解你的逻辑,但似乎有什么地方出错了,我得到了错误的结果。请看我所做的编辑。我想你正在一个非常。。。复杂的方式。为什么要用p1作为间隔的界限?请参阅我的答案,以获得令人生厌的版本
   while j<len(pl):
        if  pl[i][np.logical_and(a[j],a[j+1])]:
            p_new[i]=a[i]
            j+=1    <-------##Problem lies here
for i in range(len(a))
    for j in range(len(pl)):
        if  pl[i][np.logical_and(a[j],a[j+1])]:
            p_new[i]=a[i]
a = [boundaries]
p = [p]# this can be anything
for i in p:
    for bound in a:
        if i > bound:
            pass
        else:
            p1.append(bound)
a=[1,3,5,7,9]
pl=[2.5,7.9,6,5.7] 

for i in range(len(pl)):
         for j in range(len(a)-1):
                if  a[j]<= pl[i]<a[j+1]:
                      pl[i]=a[j]  
print  pl