电子说
python数字的集合(set)类型,是无序集合,集合中的元素(项)不会重复,不管添加多少个相同元素(项),只会保存1次。
python集合是可迭代对象。
用法
set() -> new empty set object
set(iterable) -> new set object
{元素项}
描述
python的set()函数用于创建集合对象。
入参
set()不送入参,创建空集合。
iterable:送迭代对象,比如字符串、元组等。创建非空集合。
表达式{元素项},创建非空集合。
注意
集合元素无序,且唯一。
无序:生成的集合后的元素顺序与定义集合时的顺序不一致。
唯一:多次添加重复的元素,只会保留一次。
示例
>>> n=set();x=set('梯阅线条');y=set('梯阅线条软件测试开发');z={'梯','阅','线条'}
>>> n
set()
>>> x
{'梯', '阅', '线', '条'}
>>> y
{'件', '软', '发', '梯', '阅', '试', '条', '线', '开', '测'}
>>> z
{'梯', '阅', '线条'}
#集合元素重复添加,只保存一次
>>> u=set('梯阅线条梯阅线条python集合')
>>> u
{'t', 'h', '梯', '阅', 'p', '合', '条', 'o', '线', 'n', 'y', '集'}
序号 | 表达式 | 描述 |
---|---|---|
1 | ‘s’ in set | 判断元素是否属于集合。‘s’在集合set里返回True,否则返回False |
2 | xy,x>=y,x==y,x!=y | 集合子集和超集值相等性操作符 |
3 | x | y |
4 | x ^ y | 集合对称差,取属于集合x且不属于集合y,或属于集合y且不属于集合x的元素。即集合交集以外的元素。 |
5 | x & y,x.intersection(y) | 集合交集,取集合x和集合y都有的元素 |
7 | x – y | 集合差集,取在集合x,不在集合y的元素 |
示例
>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1^s2
{'2', '5', '1', '4'}
>>> s1&s2
{'3'}
>>> s1|s2
{'5', '3', '1', '2', '4'}
>>> s1-s2
{'2', '1'}
>>> 1 in s1
False
>>> '1' in s1
True
>>> s1 < s2
False
>>> s1 > s2
False
>>> s1 != s2
True
用法
x.intersection(y)
描述
python集合intersection()方法,用于求集合交集。
x.intersection(y),集合x与集合y的交集,对应表达式x&y。
入参
y:集合
出参
返回交集集合
示例
>>> s1=set('123')
>>> s2=set('345')
>>> s1
{'3', '2', '1'}
>>> s2
{'5', '3', '4'}
>>> s1.intersection(s2)
{'3'}
用法
x.add(e)
描述
python集合add()方法,向集合添加元素。
x.add(e),向集合x添加元素e,如果存在则不变,否则新增。
入参
e:集合元素。
出参
改变原始集合。
示例
>>> s1
{'3', '2', '1'}
>>> s1.add('6')
>>> s1
{'6', '3', '2', '1'}
用法
x.update(set)
描述
python集合update()方法,向集合添加集合或元素。
x.update(set) ,向集合x添加集合set,或者添加元素。
入参
set:集合或元素。
出参
改变原始集合。
示例
>>> s1
{'6', '3', '2', '1'}
>>> s1.update(set('127'))
>>> s1
{'7', '6', '3', '1', '2'}
用法
x.remove(e)
描述
python集合remove()方法,从集合删除指定元素。
x.remove(e),从集合x删除元素e。如果元素e不存在,则报错。
入参
e:要删除的元素
出参
改变原始集合。
示例
>>> s1
{'7', '6', '3', '1', '2'}
>>> s1.remove('7')
>>> s1
{'6', '3', '1', '2'}
>>> s1.remove('7')
Traceback (most recent call last):
File ", line 1, in
用法
x.discard(e)
描述
python集合discard()方法,从集合删除指定元素。
x.discard(e),从集合x删除元素e。如果元素e不存在,不会报错。
入参
e:要删除的元素
出参
改变原始集合。
示例
>>> s1
{'6', '3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}
>>> s1.discard('6')
>>> s1
{'3', '1', '2'}
用法
s1.union(s2)
描述
python集合union()方法,用于求集合的并集。
s1.union(s2),求集合s1和s2的并集。对应表达式s1|s2
入参
s2:集合
出参
返回新的集合
示例
>>> s1
{'3', '1', '2'}
>>> s2
{'5', '3', '4'}
>>> s1.union(s2)
{'5', '3', '1', '2', '4'}
用法
s1.issubset(s2)
描述
pythhon集合issubset()方法,用于判断集合关系。
s1.issubset(s2),s1是s2的子集(s1的全部元素都在s2集合),则返回True,否则返回False。
入参
s2:父集合
出参
s1是s2的子集,返回True,否则返回False。
示例
>>> s1
{'3', '1', '2'}
>>> s2
{'2', '5', '3', '1', '4'}
>>> s1.issubset(s2)
True
>>> s2.issubset(s1)
False
python集合的元素只能是不可变对象,比如数字、字符串、元组等,不能为列表、字典、集合等。如果集合要嵌入集合,则要用frozenset方法。
示例
>>> s1
{'3', '1', '2'}
>>> s1.add(5)
>>> s1
{'3', 5, '1', '2'}
>>> s1.add([6,7])
Traceback (most recent call last):
File ", line 1, in
集合解析和列表解析类似,只需将循环表达式写在集合大括号{}里面。
示例
>>> {c*2 for c in '梯阅线条'}
{'线线', '梯梯', '条条', '阅阅'}
全部0条评论
快来发表一下你的评论吧 !