集合set
基本数据类型特色(可变:列表,字典 不可变:字符串,数字,元组)python
- 不一样的元素组成
- 无序
- 集合中的元素必须是不可变类型,加入可变的类型会报错

#!/usr/bin/python3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 输出集合,重复的元素被自动去掉 # 成员测试 if('Rose' in student) : print('Rose 在集合中') else : print('Rose 不在集合中') # set能够进行集合运算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a和b的差集 print(a | b) # a和b的并集 print(a & b) # a和b的交集 print(a ^ b) # a和b中不一样时存在的元素
方法:
A、add 添加,添加可变的数据类型也是会报错的ide
1
2
3
|
s
=
{
1
,
2
,
5
,
5
,
'g'
,
'h'
}
s.add(
3
)
print
(s)
|
执行结果post
1
|
{
1
,
2
,
3
,
5
,
'h'
,
'g'
}
|
B、clear 清空集合测试
C、intersection 交集,至关于&spa
1
2
3
4
5
6
7
|
s
=
{
1
,
7
,
9
}
s1
=
{
1
,
9
,
5
}
print
(s&s1)
print
(s.intersection(s1))
{
9
,
1
}
{
9
,
1
}
|
D、union 并集,至关于 |code
1
2
3
4
|
s
=
{
1
,
7
,
9
}
s1
=
{
1
,
9
,
5
}
print
(s|s1)
print
(s.union(s1))<br><br>{
1
,
5
,
7
,
9
}<br>{
1
,
5
,
7
,
9
}
|
E、difference 差集,至关于-blog
1
2
3
4
5
6
7
|
s
=
{
1
,
7
,
9
}
s1
=
{
1
,
9
,
5
}
print
(s
-
s1)
print
(s.difference(s1))
{
7
}
{
7
}
|
F、symmetric_difference 交叉补集,至关于^ci
1
2
3
4
5
6
7
|
s
=
{
1
,
7
,
9
}
s1
=
{
1
,
9
,
5
}
print
(s^s1)
print
(s.symmetric_difference(s1))
{
5
,
7
}
{
5
,
7
}
|
G、difference-update 差集更新rem
H、isdisjoint 判断是否有交集字符串
I、issubset 判断是否为子集
1
2
3
4
5
6
7
|
s1
=
{
1
,
2
}
s2
=
{
1
,
2
,
3
}
print
(s1.issubset(s2))
print
(s2.issubset(s1))
True
False
|
J、issuperset 判断是否为父集
1
2
3
4
5
|
s1
=
{
1
,
2
}
s2
=
{
1
,
2
,
3
}
print
(s2.issuperset(s1))
True
|
k、update 更新多个值,可迭代均可传
L、pop,remove,discard 均为删除
1
2
3
4
5
6
7
8
9
|
s
=
{
9
,
'sb'
,
1
,
2
,
3
,
4
,
5
,
6
}
s.pop()
# pop不能指定删除,只能够随机删除
print
(s)
s
=
{
9
,
'sb'
,
1
,
2
,
3
,
4
,
5
,
6
}
# 指定删除元素,当删除的元素不存在时,删除会报错
s.remove(
4
)
print
(s)
s
=
{
9
,
'sb'
,
1
,
2
,
3
,
4
,
5
,
6
}
s.discard(
5
)
print
(s)
# 指定元素删除;和remove惟一的区别删除不存在不会报错
|