集合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惟一的區別刪除不存在不會報錯
|