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