精华内容
下载资源
问答
  • python 两个list 求交集,并集,差集

    万次阅读 多人点赞 2016-06-09 17:59:52
    如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢? 当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了。这里...

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
    经常有同学私信或留言询问相关问题,V号bitcarmanlee。github上star的同学,在我能力与时间允许范围内,尽可能帮大家解答相关问题,一起进步。

    在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢?
    当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了。这里给大家使用更为装bility的一些方法。

    老规矩,talk is cheap,show me the code

    #!/usr/bin/env python
    #coding:utf-8
    
    '''
    Created on 2016年6月9日
    
    @author: lei.wang
    '''
    
    def diff(listA,listB):
        #求交集的两种方式
        retA = [i for i in listA if i in listB]
        retB = list(set(listA).intersection(set(listB)))
        
        print "retA is: ",retA
        print "retB is: ",retB
        
        #求并集
        retC = list(set(listA).union(set(listB)))
        print "retC1 is: ",retC
        
        #求差集,在B中但不在A中
        retD = list(set(listB).difference(set(listA)))
        print "retD is: ",retD
        
        retE = [i for i in listB if i not in listA]
        print "retE is: ",retE
        
    def main():
        listA = [1,2,3,4,5]
        listB = [3,4,5,6,7]
        diff(listA,listB)
        
    if __name__ == '__main__':
        main()
    

    让code run起来

    retA is:  [3, 4, 5]
    retB is:  [3, 4, 5]
    retC1 is:  [1, 2, 3, 4, 5, 6, 7]
    retD is:  [6, 7]
    retE is:  [6, 7]
    

    结合代码来看,大体上是两种思路:
    1.使用列表解析式。列表解析式一般来说比循环更快,而且更pythonic显得更牛逼。
    2.将list转成set以后,使用set的各种方法去处理。

    展开全文
  • python 求两个list交集 r = list(set(data2).intersection(set(data))) print(r[0]*r[1])

    python 求两个list的交集

     

    r = list(set(data2).intersection(set(data)))
    print(r[0]*r[1])
    展开全文
  • 并集、交集、差集的概念 ...python实现求两个list交集 假设两个list分别为a和b: way1:a_b = list(set(a) | set(b)) way2:a_b = list(set(a).union(set(b))) 如图: python实现两个l...

    并集、交集、差集的概念

    并集:属于A或属于B的集合是A与B的并集
    交集:属于A且属于B的集合是A与B的交集
    差集:属于A但不属于B的集合是A与B的差集

    python实现求两个list的并集

    假设两个list分别为a和b:

    way1:a_b = list(set(a) | set(b))
    way2:a_b = list(set(a).union(set(b)))
    

    如图:
    不服输的南瓜

    python实现求两个list的交集

    假设两个list分别为a和b:

    way1:a_b = list(set(a).intersection(set(b)))
    way2: a_b = list(set(a) & set(b))
    way3: a_b = [x for x in b if x in set(a)]   
    

    如图:
    不服输的南瓜

    python实现求两个list的差集

    假设两个list分别为a和b:

    way1:a_b = list(set(b).difference(set(a)))     # 属于b不属于a
    way2:a_b = list(set(a)-set(b))                 # 属于a不属于b
    way3:a_b = [x for x in b if x not in set(a)]   # 属于b不属于a
    

    如图:
    不服输的南瓜

    展开全文
  • 本文实例讲述了Python求两个list的差集、交集与并集的方法。分享给大家供大家参考。具体如下: list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析。 一.两个...
  • 主要介绍了Python实现两个list求交集,并集,差集的方法,结合实例形式分析了Python使用intersection、union及difference方法实现两个集合list的交集、并集与差集操作技巧,需要的朋友可以参考下
  • 有时候,为了需求,需要统计两个 list ...1. 获取两个list交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).int
    有时候,为了需求,需要统计两个 list 之间的交集,并集,差集。查询了一些资料,现在总结在下面:
    1. 获取两个list 的交集

    1. #方法一:
    2. a=[2,3,4,5]
    3. b=[2,5,8]
    4. tmp = [val for val in a if val in b]
    5. print tmp
    6. #[2, 5]

    7. #方法二
    8. print list(set(a).intersection(set(b)))

    2. 获取两个list 的并集

    1. print list(set(a).union(set(b)))

    3. 获取两个 list 的差集

    1. print list(set(b).difference(set(a))) # b中有而a中没有的
    展开全文
  • 差集:list(set(a).difference(set(b))) 交集list(set(a).intersection(set(b))) 并集:list(set(a).union(set(b)))
  • I know that in Python, if I have:list_1 = [1,2,3]list_2 = [2,3,4]I can do the following to find the intersection between the two:list(set(list_1) & set(list_2))# = [2,3]But there's one problem wit...
  • 转载自:python 求两个list 的差集,并集和交集 比如,现在有两个list类型: a_list = [1,2,3,4] b_list = [1,4,5] 一. 差集 很明显结果是[2,3,5],下面我们说一下具体方法。 方法a.正常法: ret_list = [] ...
  • 这里写自定义目录标题摘要新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一适合你的列表创建一表格设定内容居中、居左、居右SmartyPants...
  • 获取两个list交集: #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print(tmp) #[2, 5] #方法二 比方法一快很多! print list(set(a).intersection(set(b))) 获取两个list 的并集: ...
  • 这篇文章主要介绍了Python求两个list的差集、交集与并集的方法,是Python集合数组操作中常用的技巧,需要的朋友可以参考下
  • 比如,现在有两个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_...
  • 文章目录摘要1....本文主要介绍在Python求两个list交集、并集、差(补)集、对称差集的方法,如何在Python中对变量名进行动态地定义,介绍以下两种常用的情况: 1.定义如a1=1,a2=2,a3=3这...
  • 一、差集 list(set(b).difference(set(a))) 二、并集 ...list(set(a).union(set(b))) ...三、交集 list(set(a).intersection(set(b))) 转载于:https://www.cnblogs.com/yudis/articles/10329234.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,901
精华内容 8,360
关键字:

python求两个list的交集

python 订阅