python 求两个list的差集,并集和交集

比如,现在有两个list类型:

a_list = [1,2,3,4]
b_list = [1,4,5]
一. 差集
很明显结果是[2,3,5],下面我们说一下具体方法。
方法a.正常法:

    ret_list = []
    for item in a_list:
        if item not in b_list:
            ret_list.append(item)
方法b.简化版:

ret_list = [item for item in a_list if item not in b_list]
方法c.高级版:

ret_list = list(set(a_list)^set(b_list))
二. 并集
很明显结果是[1,2,3,4,5],下面是具体方法:

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)))

 

posted @ 2017-04-12 20:29  woshixinfode  阅读(42241)  评论(2编辑  收藏  举报