zoukankan      html  css  js  c++  java
  • python中set的用处

    python中有很多不同的数据结构,比如list,tuple,set,dic等,为什么我要单独讲set呢。

    因为set是一个比较容易被遗忘的数据结构,不光在python中,在C++中也一样,反正我是很少用set。但是用了之后发现set其实很强大的。下面就介绍一下set比较牛逼的几个用处:

    找出两个列表中相同的数据

    第一反应就是遍历一个列表,拿到所有数据然后再判断在不在第二个列表里。代码如下:

    def main():
        list1=[1,2,3,4,5]
        list2=[3,4,5,6,7]
        list3=[]
        for each in list1:
           if each in list2:
               list3.append(each)
    
        print list3
    
    
    if __name__ == '__main__':
        main()

    如果用set的话,用intersetion()很容易就搞定了,它可以得到两个set的交集

    def main():
        list1=[1,2,3,4,5]
        list2=[3,4,5,6,7]
        s1,s2=set(list1),set(list2)
        list3=list(s1.intersection(s2))
        print list3
    
    
    if __name__ == '__main__':
        main()

    同样的方法还有:

     s1.union(s2),用来得到两个set的并集。即两个list里所有元素的合集。

     s1.difference(s2), 用来得到两个set的差集。即在s1中存在,但在s2中不存在的集合。

     s1.symmetric_difference(s2), 它相当于s1.union(s2)-s1.intersection(s2)。即s1和s2中不重复的元素的合集。

  • 相关阅读:
    positio:absolute与position:relative的区别
    angular过滤器
    docker常用命令
    Promise的用法
    import和require
    webStrom支持Vue
    搭建Vue2+Vuex+Webpack+Pug(jade)+Stylus环境
    需要转义的正则表达式符号
    改变input光标颜色与输入字体颜色不同
    网络编程套接字,osi七层架构各层协议最全讲解
  • 原文地址:https://www.cnblogs.com/streakingBird/p/4059850.html
Copyright © 2011-2022 走看看