zoukankan      html  css  js  c++  java
  • python 找出两个列表的相同元素与不同元素

    python 找出两个列表的相同元素与不同元素,用了以下几种方法

    1. 通过set 集合
    list1 = [1,2,3]  
    list2=[2,3,4]
    set1 = set(list1)
    set2 = set(list2) 
    print(set1&set2) 
    {2, 3}
    print(set1^set2) 
    {1, 4}
    
    
    2.利用for循环
    
    '''
    找出两个列表中的相同元素和不同元素。
    '''
    
    def find_diff_intwo_list(list1,list2):
        '''
        :param list1: 列表1
        :param list2: 列表2
        :return:
        '''
        same,diff=[],[]
        seq=list(set(list2))
        for i in list(set(list1)):
            if i not in list2:
                diff.append(i)
            else:
                same.append(i)
        for j in same:
            seq.remove(j)
    
        print("same is {},diff is {}".format(same,diff+seq))
    
    3.利用collections集合里的方法
    
    def find_diff_by_twolist(list1,list2):
        '''
        :param list1: 列表1
        :param list2: 列表2
        :return:
        '''
        from collections import Counter
        newli=list(set(list1)) + list(set(list2))
        count=Counter(newli)
        same, diff = [], []
        for i in count.keys():
            if(count.get(i)>=2):
                same.append(i)
            else:
                diff.append(i)
        print("same is {},diff is {}".format(same, diff))
    
    if __name__ == '__main__':
        find_diff_intwo_list([1,2,3,5,7,7,7,98],[93,0,2,6,7,98])
        find_diff_by_twolist([1,2,3,5,7,7,7,98],[93,0,2,6,7,98])
    

      

  • 相关阅读:
    springboot接口测试
    谷粒学院_day08_课程管理_添加课程之课程发布(后端开发)
    谷粒学院_day03_vue组件
    谷粒学院_day03_vue固定代码抽取
    vue自定义事件
    vue插槽slot
    vue基本语法
    Vue之axios异步通信
    无归岛[HNOI2009]
    仓库建设[ZJOI2007]
  • 原文地址:https://www.cnblogs.com/mlmy/p/13427371.html
Copyright © 2011-2022 走看看