首页 > 解决方案 > 在 Python 的 2 个列表中查找第一个匹配项

问题描述

我在执行此操作时遇到了麻烦,我想做一个执行此操作的函数:我有 2 个列表:list1 = [8,6,0] and list2 = [6,0]。我想保持 2 个列表之间的第一个值相同(此处为 6 个)。就像我有 list1 = [a,b,c] 和 list2 = [b,c]。我只想保留价值b。我已经尝试过这个:

def listFirstValue (list1,list2) :
for x in list1 :  
  for y in list2 :
    if x == y :
      break
  break
return a

谢谢您的答复。

标签: python

解决方案


我将使用生成器理解来执行此操作,next以检索其中list1包含的第一个元素list2

list1 = [8,6,0] 
list2 = set([6,0])

next(i for i in list1 if i in list2)
# 6

更安全一点,避免在不包含任何元素的情况下出现错误list1

next((i for i in list1 if i in list2), None)

推荐阅读