Python ';列表';对象不可用于在两个不同的列表中查找相同的元素
我是Python新手,我不知道我在哪里犯了错误Python ';列表';对象不可用于在两个不同的列表中查找相同的元素,python,for-loop,Python,For Loop,我是Python新手,我不知道我在哪里犯了错误 def q(listA, listB): list1=[] for a in range(len(listA)): for b in range(len(listB)): if listA(a)==listB(b): list1.append(a) list2=[] for x in range(len(listb)): for
def q(listA, listB):
list1=[]
for a in range(len(listA)):
for b in range(len(listB)):
if listA(a)==listB(b):
list1.append(a)
list2=[]
for x in range(len(listb)):
for y in range(len(listA)):
if listB(x)==listA(y):
list2.append(x)
return list(zip(list1,list2))
pairAPy = [1,2,3,4]
pairBPy = [1,5,7,2]
print(q(pairAPy,pairBPy))
答案应该返回
[(0,0)、(2,1)、(3,3)]
您意外使用了(a)
和(b)
,而不是[a]
和[b]
。您的代码应该如下所示:
def q(列表A、列表B):
列表1=[]
对于范围内的(len(listA)):
对于范围内的b(len(listB)):
**如果listA[a]==listB[b]:
清单1.追加(a)
列表2=[]
对于范围内的x(len(listb)):
对于范围内的y(len(listA)):
如果listB[x]==listA[y]:
列表2.append(x)
返回列表(zip(列表1、列表2))
配对=[1,2,3,4]
pairBPy=[1,5,7,2]
打印(q(成对,成对))
如果listA[a]==listB[b]如果listA[a]==listB[b]
Line 21 print(q(pairAPy,pairBPy))
Line 8 if listA(a)==listB(b):
TypeError: 'list' object is not callable