码迷,mamicode.com
首页 > 编程语言 > 详细

python中set的用处

时间:2014-10-29 18:28:58      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   for   sp   数据   div   on   

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中不重复的元素的合集。

python中set的用处

标签:style   blog   io   color   for   sp   数据   div   on   

原文地址:http://www.cnblogs.com/streakingBird/p/4059850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!