我希望函数返回一个索引列表,其中lst1和lst2中的值相等。当我运行代码时,它只返回[0]。有人知道我哪里做错了吗?
它应该返回[0,2,3]。我也试着加了一个Else:继续,但这并没有帮助。
pwuypxnk1#
你得到的是[0],因为你的计数器x应该在if条件之外。
[0]
x
def same_values(lst1,lst2): new=[] x=0 for num in lst1: if num==lst2[x]: new.append(x) x=x+1 return new
或者,您也可以通过以下方式获取索引:
list1=[5,1,-10,3,3] list2=[5,10,-10,3,5] [index for index,value in enumerate(list1) if list2[index] == value] #output [0, 2, 3]
1条答案
按热度按时间pwuypxnk1#
你得到的是
[0]
,因为你的计数器x
应该在if条件之外。或者,您也可以通过以下方式获取索引: