我在python中有两个包含元素的列表。我想对这两个列表进行一些检查。我的清单如下:
list_A = [["'EASY'", "'LEVEL_C'", "'4'", '0.714', '\n'], ["'EASY'", "'LEVEL_D'", "'5'", '0.778', '\n'], ["'EASY'", "'LEVEL_D'", "'5'", '0.226', '\n'], ["'EASY'", "'LEVEL_D'", "'5'", '0.222', '\n'], ...]
list_B = [["'EASY'", "'LEVEL_B'", "'2'", '1.000', '\n'], ["'EASY'", "'LEVEL_C'", "'3'", '1.000', '\n'], ["'EASY'", "'LEVEL_D'", "'4'", '1.000', '\n'], ["'EASY'", "'LEVEL_D'", "'4'", '0.290', '\n'], ...]
第三级变量(u-1)对应于变量值(u-1)。我要做的是比较这两个列表中的变量easy and level,并找出在所有情况下,这两个列表(list_u A和list_B)中哪个得分更高,并且有哪些可信度。我该怎么做?在
按照我构建规则的方式,一开始我从一个可执行文件中获取行并将它们过滤到列表中。我的列表的向量示例如下:
^{pr2}$以及我用来创建向量的代码:
for row in my_lines:
print row
row = re.sub('[()]', "", row)
row = row.replace("Rule: ", "")
row = row.replace(",", "")
row = row.replace("==>", "")
print row
split = re.split(r' +', row)
print split
一旦我创建了我的列表,我就用对应于变量级别的第二个元素对它们进行排序:
list_A.sort(key=lambda x: x[1])
list_B.sort(key=lambda x: x[1])
编辑:我已经用变量级别对列表进行了排序。现在我要比较两个列表中所有变量级别的分数。当一个分数为零的系统不应该存在两次时,当一个分数最高的系统不存在时。如何比较变量级别的所有可能值?在
我的问题的最终解决方案是使用字符串的简单排序对列表排序,然后压缩两个列表,以便能够执行比较。使用的代码如下:
然而,在前面的答案中提出的字典解决方案似乎比使用列表更有效。在
这只是一个部分的答案,但是如果把数据放在一个dicts的dict中会更令人愉快:
然后,您可以编写一个简单的for循环来获得内部dict的所需值:
^{pr2}$我们需要重新安排数据。列表方法实际上也可以工作,但效率较低。主要问题是数据排序不正确。在
编辑:若要获取特定级别分数较高的列表名称,可以执行以下操作:
^{3}$相关问题 更多 >
编程相关推荐