我的函数不起作用(起作用但给出错误答案)

2024-10-04 09:22:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到这样的结果: [5,4,8]

但我得到了这个:[]

listA = [4,1,8,4,5]
listB = [5,6,1,8,4,5]

class Solution(object):
    
    def getIntersectionNode(listA,listB):
        de=[]
        for i in range(-1,-len(listB)): 
            for j in range(-1,-len(listB)):
                
                if listA[i] == listB[i]:de.append(listA[-1])
                
                elif listA[-1] != listB[-1]: print("null")  
                                          
                
        return de   

这个代码有什么问题


Tags: inforlenifobjectdefrangede
2条回答

如果您不需要担心重复项:

listA = [4,1,8,4,5]
listB = [5,6,1,8,4,5]

class Solution(object):
    
    def getIntersectionNode(listA,listB):
        de=list(set(listA) & set(listB))
             
        return de   
print(Solution.getIntersectionNode(listA,listB))

交叉点不是[8,1,4,5]

如果您想要的是交叉点,可以使用集合轻松实现:

list(set(listA).intersection(set(listB)))

相关问题 更多 >