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