L4.四.集合md
集合
===
集合:一些元素組成的整體。比如說我們班上的所有同學組成了一個名為314班級的集合
元素:組成集合的個體叫做元素,比如314班級的集合,班上的每一個同學就一個元素。屬于:一個元素在一個集合里面,稱為屬于。記作psy是321集合。習慣用大寫字母表示,小寫字母表示元素。321班集合記作S,班上學生a、b、c、d屬于S。? 比如我不屬于311班級集合,記作我不屬于集合
?
##創建
1.創建空集合
set1=set()
2.創建非空集合
set1={'a','b','c'}
大括號擴住,里面每一個元素不是鍵值對,跟列表項類似
?
## 添加
set1={'a','b','c'}
set1.add('d')
set1 → {'a','b','d','c'}
可以看出集合無序特性
?
##刪除
set1={'a','b','c'}
1.remove()? 根據元素值來刪除? set1.remove('a')
2.pop 刪除集合中的某一項并返回set1.pop()
3.clear()? 清空集合里所有元素
?
##列表vs集合
列表是有序的
集合是無序的。集合只關心元素是否出現過,不關心元素順序
元素不能重復
場景:去重。集合之間的關系運算(和、交、并)
?
?
##去重
set([1,2,3,3,2])? ?→{1,2,3}
?
###和、交、并
1.并集? ? 數學標記,程序符號是 | 注意集合運算用的是自己一套運算符號,不能用 and or 之類比較條件的符號
并集表示一個元素可能屬于集合A,或者屬于集合B
set = {1,2,3}? ?set2 = {3,6,7}
?
set1? |? set2? ?得到(想加)? ? ? ? ??{1,2,3,6,7}
?
2.交集。? 數學標記? ? 倒U? ? 程序中的符號是&?
一個元素既屬于集合A? 又屬于? 集合B
set1 = {1,2,3} set2 = {3,6,7}
set1 & set2? ? 得到(取出來相同的)? ?{3}
?
3.差集。? 程序員號 -。
A-B 表示一個元素屬于但不屬于集合Bset1 = {1,2,3}
set2 = {3,6,7}
set1 - set2 得到 {1,2}
4.補集。子集 -=
子集。集合B的每一個元素都屬于集合A,A半酣B,B是A的子集
# 列表去重 不用set。
a= [1,2,3,4,5,1,2,4]
a1 = []
for i in a:
if i not in a1:
a1.append(i)
print(a1)
?
轉載于:https://www.cnblogs.com/psy0508/p/9974470.html
總結
- 上一篇: Codeforces Round #52
- 下一篇: 高斯分布绘图的一些记录