How can I compare two lists in python and return matches

后端 未结 19 2809
误落风尘
误落风尘 2020-11-22 04:16

I want to take two lists and find the values that appear in both.

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

returnMatches(a, b)

would return

19条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-22 05:01

    Not the most efficient one, but by far the most obvious way to do it is:

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

    if order is significant you can do it with list comprehensions like this:

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

    (only works for equal-sized lists, which order-significance implies).

提交回复
热议问题