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

Python学习笔记 (第8课)

时间:2015-04-07 17:33:56      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

本节我们将学习python的另一种数据类型:集合(set)


1.集合(set)


 

  集合在Python中是一种没有重复元素,且无序的数据类型,且不能通过索引来引用集合中的元素

>>> basket = [‘apple‘, ‘orange‘, ‘apple‘, ‘pear‘, ‘orange‘, ‘banana‘]
>>> set(basket)
set([‘orange‘, ‘pear‘, ‘apple‘, ‘banana‘])

set1-set2来获得在set1中的元素在set2中不存在的元素,返回一个新的集合。该功能和set1.difference(set2)的效果一样

技术分享

>>> f=set([1,2,3,4,5])
>>> c=set([3,4,5,6])
>>> f.difference(c)
set([1, 2])
>>> list(f)
[1, 2, 3, 4, 5]
>>> f-c
set([1, 2])

set1|set2 获得在set1或set2中的元素,返回一个新的集合

技术分享

 

>>> f=set([1,2,3,4,5])
>>> c=set([3,4,5,6])
>>> f|c
set([1, 2, 3, 4, 5, 6])

set1&set2 获得在set1和set2中均存在的元素,返回一个新的集合

技术分享

>>> f=set([1,2,3,4,5])
>>> c=set([3,4,5,6])
>>> f&c
set([3, 4, 5])

set1^set2 获得在set1或set2中存在,但不包括在set1和set2中都存在的元素,返回一个新的集合

技术分享

>>> f=set([1,2,3,4,5])
>>> c=set([3,4,5,6])
>>> f^c
set([1, 2, 6])

 


2.集合的函数

set.add(x) 新增一个元素x,如果集合中已经存在x,则不会新增到集合中

>>> f=set([3,4,5,6])
>>> f.add(a)
>>> f
set([a, 3, 4, 5, 6])
>>> f.add(a)
>>> f
set([a, 3, 4, 5, 6])

set.clear()清空集合

>>> f=set([3,4,5,6])
>>> f.clear()
>>> f
set([])

set.copy()复制一个集合

>>> f=set([3,4,5,6])
>>> s=f.copy()
>>> s
set([3, 4, 5, 6])

set1.difference(set2) 获得在set1中的元素在set2中不存在的元素,返回一个新的集合.与set1-set2相同

>>> f=set([3,4,5,6])
>>> s=set([1,2,3,4,5])
>>> s.difference(f)
set([1, 2])

set1.difference_update(set2) 更新set1,使set1=set1-set2

>>> s=set([1,2,3,4,5])
>>> s.difference_update(f)
>>> s
set([1, 2])

set.discard(x) 删除集合中值为x的元素

>>> s=set([1,2,3,4,5])
>>> s.discard(3)
>>> s
set([1, 2, 4, 5])

set1.intersection(set2) 返回set1和set2中均存在的元素,与set1&set2的效果相同

>>> f=set([3,4,5,6])
>>> s=set([1,2,3,4,5])
>>> f.intersection(s)
set([3, 4, 5])

set1.intersection_update(set2) 更新set1,使set1等于set1^set2

>>> f=set([3,4,5,6])
>>> s=set([1,2,3,4,5])
>>> f.intersection_update(s)
>>> f
set([3, 4, 5])

set1.isdisjoint(set2) 判断set1与set2是否有相同的元素,如果有,返回false,没有返回true

>>> f=set([3,4,5,6])
>>> s=set([1,2,3,4,5])
>>> q=set([1,0])
>>> f.isdisjoint(s)
False
>>> f.isdisjoint(q)
True

set1.issubset(set2)判断set1是否是set2的子集,如果是,返回true,否则返回false

>>> f=set([1,2])
>>> q=set([3,4,5,6,7])
>>> s=set([1,2,3,4,5])
>>> f.issubset(q)
False
>>> f.issubset(s)
True

set1.issuperset(set2)判断set1是否包含了set2,即set2是否是set1的子集,如果是,返回true,否则返回false

>>> f=set([1,2])
>>> s=set([1,2,3,4,5])
>>> f.issuperset(s)
False
>>> s.issuperset(f)
True

 

 

 


 

Python学习笔记 (第8课)

标签:

原文地址:http://www.cnblogs.com/Lival/p/4398641.html

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