首页 > 解决方案 > 比较数组的索引

问题描述

我有三个数组,我的目标是比较索引并在每种情况下选择最大数量。例如:

    a = [1,5,3,2,1]
    b = [34,1,5,4,7]
    c = [5,2,4,12,2]

我还有四个变量来保存计数

    a_count = 0
    b_count = 0
    c_count = 0
    no_count = 0

如果在 a 中找到索引 0 的最大数,则 a_count += 1,同样适用于 b 和 c,以及 b_count 和 c_count。但是,如果在任何情况下特定索引处的数字相似,则 no_count += 1。

我有使用 zip 收集列表中每个索引的最大值的经验,但这有点不同,我什至不知道如何开始使用它。

标签: python

解决方案


    a = [2,4,2,1,4]
    b = [1,2,4,2,5]
    c = [5,1,1,3,9]

    a_count = 0
    b_count = 0
    c_count = 0
    no_count = 0

    def function(list1,list2, list3): #def returns 3rd list 
        max_list = [max(value) for value in zip(list1, list2, list3)]
        return max_list

    bob = function(a,b,c)

    for i in range(len(bob)):
        if bob[i] == a[i]:
            a_count += 1
        elif bob[i] == b[i]:
            b_count += 1
        elif bob[i] == c[i]:
            c_count += 1
        else:
            no_count += 1

能够使用这种天真的方式让它工作


推荐阅读