Find intersection of two nested lists?

前端 未结 20 1539
星月不相逢
星月不相逢 2020-11-22 04:16

I know how to get an intersection of two flat lists:

b1 = [1,2,3,4,5,9,11,15]
b2 = [4,5,6,7,8]
b3 = [val for val in b1 if val in b2]

or

<
20条回答
  •  清歌不尽
    2020-11-22 05:04

    flat list can be made through reduce easily.

    All you need to use initializer - third argument in the reduce function.

    reduce(
       lambda result, _list: result.append(
           list(set(_list)&set(c1)) 
         ) or result, 
       c2, 
       [])
    

    Above code works for both python2 and python3, but you need to import reduce module as from functools import reduce. Refer below link for details.

    • for python2

    • for python3

提交回复
热议问题