python-3.x 为什么我的for循环不能和if语句一起工作

velaa5lx  于 2023-05-19  发布在  Python
关注(0)|答案(1)|浏览(81)

我希望函数返回一个索引列表,其中lst1和lst2中的值相等。当我运行代码时,它只返回[0]。有人知道我哪里做错了吗?

它应该返回[0,2,3]。我也试着加了一个Else:继续,但这并没有帮助。

pwuypxnk

pwuypxnk1#

你得到的是[0],因为你的计数器x应该在if条件之外。

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]

相关问题