如何比较python中的两个列表并返回匹配项

发布于 2021-02-02 23:19:22

我想获取两个列表并查找两个列表中都出现的值。

a = [1, 2, 3, 4, 5]
b = [9, 8, 7, 6, 5]

returnMatches(a, b)

[5]例如,将返回。

关注者
0
被浏览
91
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    使用set.intersection(),它快速且可读。

    >>> set(a).intersection(b)
    set([5])
    


  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    不是最有效的方法,但是到目前为止,最明显的方法是:

    >>> a = [1, 2, 3, 4, 5]
    >>> b = [9, 8, 7, 6, 5]
    >>> set(a) & set(b)
    {5}
    

    如果订单很重要,你可以使用以下列表推导方法进行处理:

    >>> [i for i, j in zip(a, b) if i == j]
    [5]
    

    (仅适用于大小相等的列表,这意味着顺序意义)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看