---
title: 5.Python 集合、字典的基本運算 - Set、Dictionary By 彭彭
tags: 學習, 紀錄
---
# 5.Python 集合、字典的基本運算 - Set、Dictionary By 彭彭
{%youtube L3-KuGYhw78 %}
python 程式設計入門 集合 字典的運算
## 集合
* 基本觀念:一群資料 沒有順序性
(列表有順序概念 集合沒有順序概念)
1.判斷資料是否存在 使用in和not in運算符號
in 有在裡面
not in 沒在裡面
2.交集& 聯集|:使用& |和運算符號(判斷兩個集合作交集或連擊的運算)
3.差集 反交集:使用- 和^運算符號
4.字串拆解為集合:set(字串)
## 字典
* 基本觀念:鍵值對(key-Value Pair)
索引對一個資料
* key 對應Value
字典 [key]
字典[key]=Value
* 判斷資料是否存在 使用in和not in運算符號
* 刪除鍵值對:使用del 運算關鍵字
* 從列表建立字典:以列表的資料為基礎來建立字典
## 操作
### 集合的運算 用大括號 把資料放進去
* 用 in /not in 確認資料有沒有在其中
s1={3,4,5} 一個集合 三個資料
print(3 in s1) 用in看看3有沒有在集合裡 若有顯示True
> True
s1={3,4,5} 一個集合 三個資料
print(10 in s1) 用in看看10有沒有在集合裡 若有顯示True 無則顯示False
> False
s1={3,4,5} 一個集合 三個資料
print(10 not in s1) 用 not in驗證10沒有在集合裡 若沒有顯示True
> True
* 集合的運算
1. 交集 &
s1={3,4,5}
s2={4,5,6,7}
s3=s1&s2 #交集:取兩個集合中,相同的資料
print(s3)
>{4,5}
2. 聯集 |
s1={3,4,5}
s2={4,5,6,7}
s3=s1|s2 #聯集:取兩個集合中的所有資料 但不重複取
print(s3)
>{3,4,5,6,7}
3. 差集 -
p.s -對數字做減是減法 對集合做簡就是 差集
s1={3,4,5}
s2={4,5,6,7}
s3=s1-s2 #差集:從s1中,減去和s2 重疊的部分
(注意s1-s2 跟s2-s1是不一樣的 有順序之分)
print(s3)
>{3}
4. 反交集 ^
s1={3,4,5}
s2={4,5,6,7}
s3=s1^s2 #反交集:取兩個集合中,不重複的部分 (取不重疊的
print(s3)
>{3,6,7}
* 把字串中的字母拆解成集合:set(字串)
-set(字串)把Hello 拆解成集合 重複不會進來 沒有順序性 字串拆解
s=set("Hello") #set(字串)
print(s)
> {'l','H','e','o'}
s=set("Hello")
print("H" in s)
> True
(H有沒有在文字裡面 先用set把文字拆解成集合 再用in 來檢查是否於字串中)
s=set("Hello")
print("A" in s)
> False
* 字典的運算方式是Key對Value 用大括號 key-value配對
1. 字典基本操作:取得字典+大括號{}
dic={"apple":"蘋果","bug":"蟲蟲"} 兩個配對
print(dic["apple"]) 輸入key就會取得value
>蘋果
2. 字典修改
dic={"apple":"蘋果","bug":"蟲蟲"} 兩個配對
dic["apple"]="小蘋果" 把原先對應的“蘋果” 改成“小蘋果”
print(dic["apple"]) 輸入key就會取得value
>小蘋果
3. 判斷key是否存在 用in 跟not in
dic={"apple":"蘋果","bug":"蟲蟲"}
print("apple" in dic) #in 跟 not in 判斷的對象是key(apple跟bug) 問電腦apple 是否包還在字典裡 有顯示True
> True
dic={"apple":"蘋果","bug":"蟲蟲"}
print("test" in dic)
>False
dic={"apple":"蘋果","bug":"蟲蟲"}
print("test" not in dic)
>Ture
4. del 刪除字典中的鍵值對(key-value pair) 用key當代表 刪除時 整個鍵值會刪掉
dic={"apple":"蘋果","bug":"蟲蟲"}
print(dic)
del dic["apple"]
print(dic)
>{"apple":"蘋果","bug":"蟲蟲"}
>{"bug":"蟲蟲"}
5. 從列表的資料產生字典
dic={x:x* 2 for x in [3,4,5]} # for跟in 是固定的)x可代換
print(dic)
>{3:6, 4:8, 5:10}
key是x value 是x*2
x到底是什麼 要從列表進來
中括號就是一個列表。 把列表轉換成鍵值對
最後產生出的的字典 為{3:6, 4:8, 5:10}