【问题标题】:Sum of comparisons in a list Python列表Python中的比较总和
【发布时间】:2021-06-09 12:08:58
【问题描述】:

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

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

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

比较两个列表,count = 2 index 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)

【问题讨论】:

    标签: python arrays object duplicates


    【解决方案1】:

    只要在 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
    

    【讨论】:

      【解决方案2】:
      > sum([x==y for (x,y) in zip(a,b)])
      
      
      2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多