首页 > 解决方案 > 列表Python中的比较总和

问题描述

第一次在这里但是找到两个列表中所有重复项总和的简单方法是什么?此外,碰巧这些列表是在对象“Person”中定义的

p1=Person("Jack", [], [ 1 , 3 , 5 ])
p2=Person("Dave", [], [ 1 , 2 , 5 ])

a = [ 1 , 3, 5] b = [ 1 , 2, 5]

比较两个列表,count = 2 索引 0 和 2 在两个列表中是相同的。

我有一些 java 直觉,告诉我只使用一个 for 循环,通过每个值进行计数,然后进行比较,然后加一个来计数。

有点像这里发生的事情,但这是不对的

def compare(x1, x2):
count=0
for x in parray:
    if x1.qarray[x] == x2.qarray[x]:
        count+=1
print(count)

标签: pythonarraysobjectduplicates

解决方案


只需尝试在 x1 或 x2 的范围内循环,假设它们的长度相同:)

def compare(x1, x2):
    count=0
    for i in range(len(x1)):
        if x1[i] == x2[i]:
            count += 1
    print(count)
    
    
a = [ 1 , 3, 5] 
b = [ 1 , 2, 5]
compare(a,b)
>> 2

推荐阅读