我有两个numpy ndArray。它们包含笛卡尔坐标中的 x,y 值。
parent =
[[ 10 234]
[ 20 100]
[ 30 100]
[ 40 345]
[ 5 100]
[ -45 110]]
现在假设基于一些随机算法,我找到了我的子元素,其中 y 值为 100。
所以我的子元素看起来像这样:
child=
[[ 20 100]
[ 5 100]
[ 30 100]]
当我的算法更改顺序时,我想创建一个函数,该函数将为我提供一个根据父元素正确排序的子元素。
所以我的孩子会看起来像这样:
child=
[[ 20 100]
[ 30 100]
[ 5 100]]
30,100
排在5,100
之前,因为30,100
的索引值较低。20,100
保持相同的位置,因为它在所有指数中具有较低的指数值。
我很难做到这一点。如果你能帮我做到这一点,我会很高兴。
您可以通过循环遍历整个父列表并仅保留也在子列表中的父列表来执行此操作:
parent = [[10, 234],
[20, 100],
[30, 100],
[40, 345],
[5, 100],
[-45, 110]]
child = [[20, 100],
[5, 100],
[30, 100]]
print([i for i in parent if i in child])
>>>[[20, 100],
[30, 100],
[5, 100]]