Python学习笔记:集合(set)有关函数

来源:互联网 发布:万网买了域名能退吗 编辑:程序博客网 时间:2024/06/05 09:03

1.len()

>>> s = set('aaa')>>> s{'a'}<span style="white-space:pre"></span>#集合不重复性质>>> len(s)1


2.issubset()

判断t是不是s的子集,是就返回True,否则返回False(格式:s.issubset(t)

>>> s = set('a')>>> t = set('abc')>>> s{'a'}>>> t{'a', 'b', 'c'}>>> s.issubset(t)True>>> t.issubset(s)False


3.issuperset()

判断s是不是t的超集,返回True或者False(超集:定义:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集。 S1是S2的超集,若S1中一定有S2中没有的元素,则S1是S2的真超集,S2是S1的真子集)

(格式:s.issuperset(t)

>>> s = set('a')>>> t = set('abc')>>> s{'a'}>>> t{'a', 'b', 'c'}>>> s.issuperset(t)False>>> t.issuperset(s)True


4.union()

返回一个新的集合,新集合是两个集合s、t 的并集(格式:s.union(t)

>>> s = set('abc')>>> t = set('123')>>> s{'a', 'b', 'c'}s>>> t{'2', '1', '3'}>>> s.union(t){'2', '3', 'c', '1', 'a', 'b'}


5.intersection()

返回一个新的集合,新集合是两个集合s、t 的交集(格式:s.intersection(t)

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.intersection(t){'a'}


6.difference()

返回一个新的集合,新集合是s的成员,但不是t的成员(格式:s.difference(t)

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.difference(t){'2', '1', '3'}


7.symmetric_difference()

返回一个新的集合,新集合是s、t的成员,但不是共有成员(格式:s.symmetric_difference(t) )

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.symmetric_difference(t){'4', '2', '5', '3', '6', '1'}


8.copy()

复制s集合(格式:s.copy()

>>> s = set('abc')>>> s{'a', 'b', 'c'}>>> s.copy(){'a', 'b', 'c'}>>> t = s.copy()>>> t{'a', 'b', 'c'}


9.intersection_update()、difference_update()、symmetric_difference_update()


intersection_update()  :使s的成员是s和t 的共有成员(格式:s.intersection_update(t) )

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.intersection_update(t)>>> s{'a'}>>> t{'5', 'a', '4', '6'}


difference_update() :使s的成员是属于s的但不属于t 的(格式:s.difference_update(t) )

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.difference_update(t)>>> s{'3', '2', '1'}>>> t{'5', 'a', '4', '6'}


symmetric_difference_update() :使s的成员是属于s和t 的但不是共有的(格式:s.symmetric_difference_update(t) )

>>> s = set('a123')>>> t = set('a456')>>> s{'3', '2', '1', 'a'}>>> t{'5', 'a', '4', '6'}>>> s.symmetric_difference_update(t)>>> s{'4', '2', '5', '3', '6', '1'}>>> t{'5', 'a', '4', '6'}


10.clear()

清空集合中的所有元素,使集合为空。(格式:s.clear()

>>> s = set('abc')>>> s{'a', 'b', 'c'}>>> s.clear()>>> sset()


11.pop()

删除第一个元素并返回,因为集合是无序的,所有第一个元素并不确定。(格式:s.pop()

>>> s = set('abcdef')>>> s{'d', 'f', 'e', 'c', 'a', 'b'}>>> s.pop()'d'>>> s.pop()'f'>>> s.pop()'e'>>> s.pop()'c'>>> s.pop()'a'>>> s.pop()'b'



12.discard()

删除obj,如果集合中不存在obj,不会出现异常(与remove类似,不过remove 不存在obj的话会出现异常)(格式:s.discard(obj)

>>> s = set('abcdef')>>> s{'d', 'f', 'e', 'c', 'a', 'b'}>>> s.discard('a')>>> s{'d', 'f', 'e', 'c', 'b'}>>> s.discard('q')>>> s{'d', 'f', 'e', 'c', 'b'}




0 0
原创粉丝点击