如何比较列表列表中的重复元素并在python中的列表相同列表的另一个元素上给出IF条件

Pmsheth

朋友们

我陷入了列表问题列表。我在下面的列表类型中包含['Score','title','ID']

[[0.6428571428571429, 'Software QA', 2089],
 [0.7428571428571429, 'Software Developer', 2086],
 [0.75, 'Software Tester', 2004],
 [0.7428571428571429, 'Software Developer', 2004],
 [0.7428571428571429, 'Software Developer', 1958],
 [0.7428571428571429, 'Software Developer', 1954],
 [0.7428571428571429, 'Software Developer', 2133],
 [0.7428571428571429, 'Software Developer', 2153],
 [0.7428571428571429, 'Software Developer', 2152],
 [0.9411764705882353, 'Software Engineer', 1107],
 [0.7058823529411765, 'Software Devloper', 2133],
 [0.7058823529411765, 'Software Devloper', 2153],
 [0.7058823529411765, 'Software Devloper', 2152],]

现在我想比较ID,如果它们相似则需要给出分数更高的条件

我尝试了以下一个元素代码:

if cleanlist[2][2] == cleanlist[i][2]:
        if cleanlist[2][0] > cleanlist[i][0]:
            print (cleanlist[2])
        else:
            print(cleanlist[i])

如何循环执行并获得带有分数的唯一ID

需求输出如下:

[[0.6428571428571429, 'Software QA', 2089],
 [0.7428571428571429, 'Software Developer', 2086],
 [0.75, 'Software Tester', 2004],
 [0.7428571428571429, 'Software Developer', 1958],
 [0.7428571428571429, 'Software Developer', 1954],
 [0.7428571428571429, 'Software Developer', 2133],
 [0.7428571428571429, 'Software Developer', 2153],
 [0.7428571428571429, 'Software Developer', 2152],
 [0.9411764705882353, 'Software Engineer', 1107],]
比乔伊

如果您不介意输出顺序,可以使用它

from collections import defaultdict

def sort_it(list_):
    res = defaultdict(list)
    for i, j, k in sorted(list_):
        res[k] = [i, j]
    return [[value[0], value[1], key] for key, value in res.items()]

如果您希望按照ID对其进行排序,则只需对其重新排序

sorted(sort_it(test_list), key=lambda x: x[-1])

工作:首先根据得分对输入列表进行排序,然后将值馈送到以ID为键的字典,并将其值保留在列表中,如果ID值重复出现,则将其替换为比以前更大的新值,然后将其重新转换为列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

列表中的最小交换元素,使其与另一个列表相同,并在python中计算交换

检查列表列表的所有元素是否在另一个列表列表Python中

如何验证列表元素是否与另一个列表相同?

删除列表中的重复项,并检查其是否与另一个列表相同

Python-用另一个列表中的唯一元素替换列表中的重复元素

从列表元素中删除模式并在 Python 中返回另一个列表

根据另一个列表中的元素重复一个列表中的元素

检查列表列表中的元素是否包含另一个列表

使用 Selenium 从另一个框架中查找与下拉列表相关的元素 -- Python

如何用零比较另一个列表替换一维列表中的元素?

如何在python中求和与另一个列表的元素相对应的列表元素

排序列表列表与python中的另一个列表列表

是否有一个接受列表并返回该列表中重复元素列表的函数?

如何根据另一个列表的元素和条件从一个列表中删除元素?

如何在另一个列表中的不同大小的列表上获取元素?

Python:用列表中另一个列表中的值替换列表中的元素

如果下一个元素与Python中的列表相同,则删除该元素

如何基于python中另一个列表中的元素过滤列表

如何使列表中的每个元素在python中成为另一个列表

从列表中删除重复项并删除另一个列表中相同索引处的元素

如何根据相同元素的另一个值在字典列表中搜索元素的值?

如何从python复制列表列表而没有每个列表中的最后一个元素

Python-如何替换列表列表中每个列表的第一个元素

如何检查列表列表是否包含来自另一个列表的任何元素

如何从另一个列表的元素自动在 python 中创建列表

如何根据另一个列表过滤Python中的列表元素?

将列表的每个元素与 Python3 中另一个列表的每个元素进行比较

如何在Python中比较列表列表中的元素并比较列表列表中的键?

用另一个嵌套列表中的n重复嵌套列表中的元素