python 求兩個list的差集,並集和交集

好比,如今有兩個list類型:app

a_list = [1,2,3,4]
b_list = [1,4,5]

一. 差集
很明顯結果是[2,3,5],下面咱們說一下具體方法。
方法a.正常法:code

ret_list = []
    for item in a_list:
        if item not in b_list:
            ret_list.append(item)
    for item in b_list:
        if item not in a_list:
            ret_list.append(item)

方法b.簡化版:it

ret_list = [item for item in a_list if item not in b_list] + [item for item in b_list if item not in a_list]

方法c.高級版:io

ret_list = list(set(a_list)^set(b_list))

二. 並集
很明顯結果是[1,2,3,4,5],下面是具體方法:nio

ret_list = list(set(a_list).union(set(b_list)))

三. 交集
很明顯結果是[1,4],下面是具體方法:方法

ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))
相關文章
相關標籤/搜索