对于list1中的唯一项,请在python中的list2中获取相应的最大值

时间:2013-02-10 12:08:54

标签: dictionary max

我有两个在解析两列文件后生成的元素列表(list1和list2)。 List1包含重复不同时间的项(即a,a,a,b,b,c,c,c,c,d,d),list2包含重复的相应值,如list1中所示,或者是独特。

我想要做的是,对于list1中的常见项目,获取最大的相应数字。我想在python中这样做,通过启动一个字典,并使用一个条件,使用list1中的关键唯一项和list2中相应的最大值来填充它。

我将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用zip将这两个列表合并为一个对列表:

# You probably want the values in list2 to be ints
list2 = map(int, list2)
# Combines each item in list1 with the corresponding one in list2
pairs = zip(list1, list2)

然后要创建最大值的字典,您可以浏览这些对:

max_values = {}
for key, value in pairs:
    current_value = max_values.get(key) # None if the key isn't there.
    if current_value is None or current_value < value:
        max_values[key] = value