首页 > 解决方案 > 输出在python中选择了分数>平均分数的变量

问题描述

如果我有两个数组,每个变量都与其给定的分数相关联:

  1. 第一个数组由以下(变量,分数)组成:
  1. 第二个数组如下(变量,分数):
  1. 我想将这两个数组组合成一个数组,然后找到与
  1. 最后,选择输出分数>平均分数的变量。python中的所有代码。

标签: pythonarrays

解决方案


您不能使用arrays您拥有的对象类型。假设您使用 NumPy,数组是同类对象。

出于您应该使用的目的lists,它们可以是异构的:

lst1 = [['F12', 0.769327], ['F8', 0.932702], ['F6', 0.980982],
        ['F9', 0.998438], ['F7', 0.999610], ['F2', 1.000000],
        ['F3', 1.000000], ['F1', 1.000000], ['F11', 1.000000],
        ['F4', 1.000000], ['F10', 1.000000], ['F5', 1.000000]]

lst2 = [['F2', 0.179329], ['F3', 0.148576], ['F1', 0.179842],
        ['F11', 0.217283], ['F4', 0.184893], ['F6', 0.150987],
        ['F10', 0.267837], ['F9', 0.121113], ['F5', 0.126617],
        ['F7', 0.112994], ['F12', 0.900000], ['F8', 0.100000]]

要连接两个列表,您可以使用运算符+

lst3 = lst1 + lst2

然后您可以遍历列表以计算均值并选择满足您条件的变量:

lst3_mean = 0

for i in lst3:
    lst3_mean += i[1]
lst3_mean = lst3_mean / len(lst3)

result = []
for i in lst3:
    if i[1] > lst3_mean and i[0] not in result:
        result.append(i[0])
print(result)

推荐阅读