Python 在列表的排列中应用秩

Python 在列表的排列中应用秩,python,python-3.x,numpy,Python,Python 3.x,Numpy,我有两份清单: l1 = [0, 1, 12, 33, 41, 52, 69, 7.2, 8.9, 9.91] l2 = [45, 51] 我需要从l1获取所有可能的组合(无重复),其大小等于l2的长度。然后将排名指标应用于l2和l1(针对每个组合)。最后,我需要得到最接近的度量wrtl1和lx(lx为排列列表) 到目前为止,我尝试了什么(到目前为止,它更像是一个伪代码): 输出: best metric = 0 (identical) best list = [45, 51] 您可以使用获

我有两份清单:

l1 = [0, 1, 12, 33, 41, 52, 69, 7.2, 8.9, 9.91]
l2 = [45, 51]
我需要从
l1
获取所有可能的组合(无重复),其大小等于
l2
的长度。然后将排名指标应用于
l2
l1
(针对每个组合)。最后,我需要得到最接近的度量wrt
l1
lx
lx
为排列列表)

到目前为止,我尝试了什么(到目前为止,它更像是一个伪代码):

输出:

best metric = 0 (identical)
best list = [45, 51]
您可以使用获取您的置换列表,然后应用度量

将numpy导入为np
按原样导入itertools
def应用度量(预测、目标):
返回np.sqrt(((预测-目标)**2.mean())
l1=[0,1,12,33,41,52,69,7.2,8.9,9.91]
l2=[45,51]
temp_dict={}
对于其中的元素。置换(l1,len(l2)):
临时结果=应用度量(np.数组(l2),np.数组(元素))
临时命令更新({temp\u结果:列表(元素)})
打印(f“最佳度量:{min(temp_dict)}”)
打印(f“最佳列表:{temp_dict[min(temp_dict)]}”)
这将产生:

最佳指标:2.9154759474226504
最佳名单:[41,52]
您可以使用获取您的置换列表,然后应用度量

将numpy导入为np
按原样导入itertools
def应用度量(预测、目标):
返回np.sqrt(((预测-目标)**2.mean())
l1=[0,1,12,33,41,52,69,7.2,8.9,9.91]
l2=[45,51]
temp_dict={}
对于其中的元素。置换(l1,len(l2)):
临时结果=应用度量(np.数组(l2),np.数组(元素))
临时命令更新({temp\u结果:列表(元素)})
打印(f“最佳度量:{min(temp_dict)}”)
打印(f“最佳列表:{temp_dict[min(temp_dict)]}”)
这将产生:

最佳指标:2.9154759474226504
最佳名单:[41,52]

你能提供一个预期结果的例子吗?我编辑了这个问题。你能提供一个预期结果的例子吗?我编辑了这个问题
best metric = 0 (identical)
best list = [45, 51]