S3=s1&s2 交集 s3=s1|s2聯集 s3=s1-s2差集 s3=s1^s2反交集 s=set(“Hello”) #set(字串) 拆解字串,成為集合 字典:dic={”key”:”value”} Del doc{“key”}刪除鍵值對 Dic={x=x**2 for x in [2,3,4]}從列表產生字典
#集合的運算 s1={3,4,5} # print(10 not in s1) s1={3,4,5} s2={4,5,6,7} #s3=s1&s2 交集:取兩個集合中,相同的資料 s3=s1|s2 # 聯集:取兩個集合中的所有資料,但不重複 s3=s1-s2 # 差集:從s1中,減去和s2重疊的部分 s3=s1^s2 # 反交集:取兩個集合中,不重疊的部分 print(s3) s=set("hello") #set(字串) print("h"in s) # 字典的運算 dic={"apple":"蘋果","bug":"害蟲"} dic["apple"]="小蘋果" print(dic["apple"]) print("apple" in dic) # define key is there or not print("appl" not in dic) print(dic) del dic["apple"] # 刪除字典中的鍵值對(key-value pair) print(dic) dic={x:x*2 for x in [3,4,5]} print(dic)
老師您好,想請教您最後一個部分 dic={x:x*2 for x in [3,4,5]} # 從列表的資料中產生字典 print(dic) 想請教有沒有辦法可以只print x*2的值, 像是前面那種 dic={"apple":"蘋果","bug":"蟲蟲"} print(dic["apple"])直接輸出為蘋果的那種
想請問最後一個把列表的資料轉換成字典的用法能夠改寫成從兩個列表嗎? 像是下面的寫法 l1 = [1,2,3] l2 = [4,5,6] dict={x:y for x in l1 for y in l2} print(dict) 實際上跑起來會變成 {1:6,2:6,3:6} 如果想得到 {1:4,2:5,3:6}該怎麼改呢 麻煩老師及各位解惑一下,謝謝
比我在學校學的還清楚~老師解釋的真好~
謝謝嘍 :)
00:00介紹
00:13 集合講解:基本觀念、判斷資料是否存在、交集、聯集、差集、反交集、字串拆解為集合
01:26 字典講解:基本觀念、Key對應Value、判斷資料是否存在、刪除鍵值對、從列表建立字典
02:38 進入實作
集合:
02:52 基本觀念:一群資料、沒有順序性
03:14 判斷資料是否存在:使用 in 和 not in 運算符號
04:49 交集、聯集:使用 & 和 | 運算符號
07:41 差集、反交集:使用 - 和 ^ 運算符號
11:04 字串拆解為集合:set(字串)
字典:
13:30 基本觀念:鍵值對(Key-Value Pair)
14:48 Key 對應 Value :字典[Key]=Value
16:32 判斷資料是否存在:使用 in 和 not in 運算符號
18:21 刪除鍵值對:使用 del 運算關鍵字
20:13 從列表建立字典:以列表的資料為基礎來建立字典
23:04 快速總結
以上是個人解讀,如內容有錯請見諒,謝謝。
感謝紀錄 :)
身為初學者的我能在茫茫大海之中找到彭彭老師的影片,真的是太感恩了!!循序漸進,受益良多!謝謝
謝謝你的回饋 :)
謝謝你的課程,讓沒有碰過程式語言的生手容易學習,也此增加了信心更能對程式語言產生興趣持續下去。
不會,謝謝你的回饋,很高興對你有幫助 :)
講述內容清楚,講解速度適中,所談份量適當,令人不知不覺每天一直看下去~謝謝老師囉.
謝謝你的回饋,很高興這是適合你的 :)
你的教學真的非常清楚我都已經把書丟到一旁了
哈哈哈哈,好哦,很高興能讓你覺得容易吸收 :)
真的,很讚👍
謝謝彭彭的課程,留言唯一能回饋你的方法
謝謝哪 :)
完全沒寫程式的人也能看懂邏輯!!!超感謝老師
2021/5/22
#集合的運算
s1 = {3,4,5}
s2 = {4,5,6,7}
s3 = s1&s2 # 交集 :取兩個集合中, 相同的資料
s4 = s1|s2 # 聯集 : 取兩個集合中的所有資料,但不重複取
s5 = s1 - s2 #差集: 從S1中, 減去和s2 重疊的部分
s6 = s1^s2 # 反交集: 取兩個集合中, 不重疊的部分
print(3 in s1) #True
print(10 not in s1) #True
print(s3)
print(s4)
print(s5)
print(s6)
s = set("Hello") # 把字串中的字母拆解成集合:set(字串)
print(s)
print("H" in s)
print("A" in s)
print("H" in s)
#字典的運算: key-value 配對
dic = {"apple":"蘋果", "bug":"蟲蟲"}
dic["apple"]= "小蘋果"
print(dic["apple"])
print("apple" in dic) #判斷 key 是否存在
print("test" not in dic)
print(dic)
del dic["apple"] #刪除字典中的鍵值對 (key-value pair)
print(dic)
dic = {x:x*2 for x in [3, 4, 5]}#從列表的資料產生字典 ## xxx可代換, for in 是固定的, 列表要給他一個列表
print(dic)
感謝紀錄 ~
Python 數學指令很多 還有獨特功能
真的蠻適合數據分析
是的,相關工具很多 :)
感謝製作這樣的教材讓入門者學習
希望對大家有幫助 :)
好用心 我會慢慢把每一部看完
加油哦 :)
謝謝老師分享,沒有基礎跟著操作都還算能理解,會多多練習的!
加油嘍 :)
邊看邊手做 講解得非常詳細 超讚的頻道
謝謝哪,看了開心 :)
本來上學校的課覺得人生是黑白, 看到這教學整個人生變彩色的了!
哈哈哈,說得太誇張啦 XDDDD
目前電機4年級,正在往資工走的學生,程式能力與資工的學生還有一大截差距,看老師的影片真的讓我了解到很多以前所忽略的觀念 讚讚讚!
ps:老師的鍵盤是哪隻啊?打的聲音好好聽呢!!
讚讚,謝謝你的回饋和分享,很高興對你有幫助哦 :) 我的鍵盤只是普通的鍵盤而已哪,可能剛好聲音還算舒服嘍 XDD
好人一生平安 謝謝老師
一生平安 XDDD
课讲得太好了,简明易懂,表达准确,不急不缓
谢谢你的回馈 :)
讲得通俗易懂,反正我是听懂了,谢谢
谢谢你的回馈 :)
謝謝提供如此優質的python 教學,辛苦了
謝謝你 :)
突然注意到老師的錄影時間...
XDDDDDDD
@@cwpeng-course 哇!大半夜的...
辛苦您了^^
不虧是工程師...
@@cwpeng-course 老師辛苦了
襪 真的是爆肝工程師
感謝老師 一生平安
謝謝 :)
感谢彭彭老师的精彩分享
:)))) 谢谢
完全沒碰過程式的我
聽到這集目前都還聽得懂,感動XDD
哈哈哈,很高興對你有幫助 :)))))
2021/2/7 初學者簽到上課,願老師一生平安
謝謝你哪 :)
我必須訂閱這個優質頻道 老師辛苦了
謝謝你的支持和回饋呦 :)
老師非常神! 不懂秒懂!
哈哈哈,謝謝你的回饋哪 :)
S3=s1&s2 交集
s3=s1|s2聯集
s3=s1-s2差集
s3=s1^s2反交集
s=set(“Hello”) #set(字串) 拆解字串,成為集合
字典:dic={”key”:”value”}
Del doc{“key”}刪除鍵值對
Dic={x=x**2 for x in [2,3,4]}從列表產生字典
感謝整理 :)
請問為什麼 dic[key]是用 中括號?
中括號在此時是代表可變列表嗎還是其他因素?
感謝彭彭老師🙏🏻🙏🏻
教的跟玻璃一样清晰,我爱了
XDDDD 好有趣的比喻 ~~~~
謝謝作者的製作。
不客氣呦 ~
回頭再看...非常感謝 清晰的教學,謝謝您
謝謝你的回饋 :)
很優質的教學影片,值得推廌!
謝謝你的鼓勵和推薦 :)
謝謝老師的課程
不會,有幫助就好 :)
謝謝您的影片 很實用
想請教 dic後面有時是大括弧 有時是中括弧 該如何分辨使用時機呢?
創建字典的時候會用大括弧,根據 key 存取 value 的時候會用中括弧嘍 ~
彭彭老师讲的很详细 感谢,感谢
:)
超级清楚,细节很棒!!!!
谢谢 :)
謝謝老師~在你這裡我學了很多♥♥
很高興對你有幫助呦 ♥♥
#集合的運算
s1={3,4,5}
# print(10 not in s1)
s1={3,4,5}
s2={4,5,6,7}
#s3=s1&s2 交集:取兩個集合中,相同的資料
s3=s1|s2 # 聯集:取兩個集合中的所有資料,但不重複
s3=s1-s2 # 差集:從s1中,減去和s2重疊的部分
s3=s1^s2 # 反交集:取兩個集合中,不重疊的部分
print(s3)
s=set("hello") #set(字串)
print("h"in s)
# 字典的運算
dic={"apple":"蘋果","bug":"害蟲"}
dic["apple"]="小蘋果"
print(dic["apple"])
print("apple" in dic) # define key is there or not
print("appl" not in dic)
print(dic)
del dic["apple"] # 刪除字典中的鍵值對(key-value pair)
print(dic)
dic={x:x*2 for x in [3,4,5]}
print(dic)
感謝紀錄 :)
非常適合新手入門~
感謝老師~
不會呦,也謝謝你給的回饋和支持 :)
老師的教學真的好清楚啊~對於沒碰過程式的新手學習完全沒問題
然後想請問影片最後那部分的ㄨ值,如果想要指定出現3*2的結果
,print後面該怎麼寫呢?謝謝
謝謝你的回饋呦 :) 可以寫 print(dic[3])
@@cwpeng-course好的 謝謝老師
講得有夠清楚,非常感恩
謝謝呦 :)
學過c語言,看到最後一段dic={x=x*2 for x in [3, 4, 5]}真的是很不習慣XD,不過彭彭老師的教學很簡單易懂,感受的到Python強大的彈性
哈哈哈,我也不習慣說實在 XDDDD
淺顯易懂 感謝!!!!!
謝謝老師,覺得非常清楚易懂!
:))))))
教得很好又很清楚明瞭!!
跪求C語言教學影片((跪
謝謝你的回饋 :)
C 語言短期內大概是無法哪 XDDDD
以前從沒接觸過程式 謝謝老師無私分享, 講解超清楚
想問老師大中小括號使用的時間要如何記呢?有點搞不清楚 謝謝
不客氣,對你有幫助就好 :)
其實就每個情境下用不同的括號而已,例如字典就用大括號。多寫就會記住了哦 ~~~
感謝彭朋 現在是python 初學者 ,看老師的影片受益良多
:)
彭彭老師請問一下print(2^5) ^是代表甚麼呢?
xor bitwise 運算子,你要先把數字用二進位表示,然後套用 xor 的二進位運算規則,產生新的數字。
這個對入門者來說很少使用,要有切換不同進位制的數學能力。
22:46
list 列表 []
dic 字典 鍵值對 key -value pair {}
這兩個很重要呢
謝謝彭彭老師的指教分享,受用了!
不會呦,有幫助就好 :)
老師請問你是怎麼快速執行程式碼的? 有按哪個快捷鍵或輸入什麼嗎?
謝謝老師!
好仔細的教學!
感謝有你~
不客氣哦 ~~~~~
老師您好,想請教您最後一個部分
dic={x:x*2 for x in [3,4,5]} # 從列表的資料中產生字典
print(dic)
想請教有沒有辦法可以只print x*2的值,
像是前面那種
dic={"apple":"蘋果","bug":"蟲蟲"}
print(dic["apple"])直接輸出為蘋果的那種
可以呦,就打 dic[3] 或 dic[4] 或 dic[5] 就可以了,例如:
dic={x:x*2 for x in [3,4,5]}
print(dic[3])
print(dic[4])
print(dic[5])
@@cwpeng-course 謝謝老師的回覆
希望有練習的題目,讓我這學期的選修python可以過
TH-cam 實在很難,如果有想到甚麼適合的方式,我會做做看 ~
不錯, 要留個讚
謝謝 :)
集合 set
交集 Intersection &
聯集 Union |
差集Subtraction -
反交集 Anti-intersection ^
集合常見的運算 :)
請問dic=["apple"]="小蘋果",在這裡的括號使用[ ],而不用( ) or { },是有什麼邏輯上的概念嗎? 還是說就是把這語法背下來呢?
語法而已,因為 dic 是字典,取得字典中的資料要用 [鍵值] ~
感謝彭彭老師分開說明,書中把上一個列表跟這個字典加在一起更想睡XD
XDDDDDD
謝謝老師非常清楚明瞭的教學。
有一個小問題想要請教一下老師,print(dic["apple"])=> 這邊dic裡的是[], 為什麼不能用()?
謝謝老師!
這只是語法的問題而已,沒甚麼特別理由,我們就是要順應基本的語法規矩:想要用字典的 KEY 取得對應的 VALUE,就要寫 dic["鍵的名字"] 這樣。小括號通常是函式呼叫的意思。
受益良多
很高興對你有幫助 :)
谢谢彭老师!
:)
谢谢老师,讲的真的很清楚!
谢谢你的回馈呦 :))
謝謝老師分享, 請問老師有出C++系列的影片嗎?
謝謝你的回饋,C++ 目前沒有哦 @@a
2020/02/07 還在看,謝謝老師教學
加油!也謝謝你的回饋 :)
老師,非常感謝你的課,關於字典運算那一塊我有個地方不是很懂,可以請教下您嗎?你寫字典是用大括號,但对字典的key操作时为什么是中括号不过大括号呢?例如您视频16:07 dic[“apple]=“小蘋果”
我也有同樣疑問但發現之前有人問過~供參考!
老師回覆:創建字典時用大括弧{},根據key存取value用中括弧[]
感謝 @b30523 的說明,其實就是規矩而已。
想請問最後一個把列表的資料轉換成字典的用法能夠改寫成從兩個列表嗎?
像是下面的寫法
l1 = [1,2,3]
l2 = [4,5,6]
dict={x:y for x in l1 for y in l2}
print(dict)
實際上跑起來會變成
{1:6,2:6,3:6}
如果想得到
{1:4,2:5,3:6}該怎麼改呢
麻煩老師及各位解惑一下,謝謝
試試看 {l1[i]:l2[i] for i in range(len(l1))}
老師請問列表中第一個數值就是代表1嗎? 第一個資料
請問老師#後面真的有要加空格嗎?
我上網找是說二元運算符、逗號、冒號以及#都要加空格
可是我看老師的影片如果是開頭都加#,都是沒有空格的,弱勢家在後面才有空格,而我實際操作時,發現好像不管哪個都可以正常執行?
所以這是不是大家約定俗成的規矩嗎?
你可以相信自己實際操作的經驗,既然能夠運作就不是硬規矩。
這篇教了字典的建立、修改、刪除。請問有新增的語法嗎?
可以哦,例如:
dic={"test":"測試"}
dic["apple"]="蘋果" # 新增鍵值對
老師想請問
dict1={'a':100,'b':200,'c':300}
for i in dict1:
print(i)
跑出來的是
a
b
c
而不是
100
200
300
是因為字典主要以key為主嗎?><
還想請問 影片中說到的字串set 和 一般使用str 字串的 差別是?
是地,迴圈會取出字典的 key 沒錯,需要 value 的話就寫 dic1[i] 就可以了。
字串 set 是指把字串中的每個字母變成一個 set。
str() 是一個函式,用來把資料轉換成字串。
沒有太多相關性哦。
@@cwpeng-course 感謝老師的講解,終於比較明白了,老師的影片很用心
Thanks for teaching!
不會呦,謝謝你的回饋 :)
謝謝彭彭老師無私分享,想請問若是跟著影片教學練習,之後想在複習,或類似寫功課的方式來強化學習,老師有什麼建議嗎?
你可以基於學到的內容,額外給自己一些挑戰,例如試著去找一些有趣的公開資料,爬取後將資料有趣的部份呈現出來。如果無法想像能做什麼挑戰,可以搜尋例如【python 練習題目】之類的關鍵字去看看別人都做些甚麼,然後自己嘗試做出來 ~
謝謝老師提供上課途徑,循序漸進上到現在都非常非常好理解,但目前出現有兩個小問題
1) 我使用visual code,但只要#memo裡面有中文,就無法正常讀取(我用mac,不知道是不是有版本的問題)
2) 上到這堂課,練習各種集的時候,print出來的顯示不是{2,3,4}這樣,而是set([2,3,4]) 。但回去對照我應該沒有打錯才對,想知道差異可能是什麼?
感謝解惑!:)
是 Python 版本的問題,使用 Mac 的話執行時請輸入:python3 檔案名稱
後面的顯示差異其實沒那麼重要,概念是集合的概念就可以,顯示的方式會因為版本和系統約有不同。
我覺得教得好好喔~清楚明瞭^^
謝謝哪 ^^
書上難懂的部分,看老師教學秒懂
很高興對你有幫助呦 :)
彭彭老師您好, 感謝您提供這麼清楚的教學內容
自行操作程式當中遇到以下問題
{'apple': '\xe8\x98\x8b\xe6\x9e\x9c', 'bug': '\xe5\xb0\x8f\xe9\x9b\x9e\xe6\x8e\xb0'}
似乎是Ptyhon中沒辦法顯示中文,想請問這方面可以怎麼解決?
麻煩了老師了
是 MAC 電腦嗎?是否有程式可以參考呢 ~
老師,為何delete在set裡不能用?還是這就是python的機制,所以只能用差集的方式
就是 Python 的規矩哦,每個運算能夠怎麼用都是有一些規則,入門就是要熟悉或說習慣這些東西 ~
@@cwpeng-course 了解了,謝謝老師
字典可以新增鍵值嗎,
ex:dic+["cat":貓]
老師救了我
太好了 :)
看了停不下來诶 教得好好
:)
老師您好
看完您的教學後我試了一個下列的運算,為何3個反交集會出現4?
我分別交互試過s1^s2,s1^s3,但就在3個反交集時出現了4,
想請教是否反集是用在兩個集合資料上呢? 謝謝您~
s1={3,4,5}
s2={4,7,8}
s3={4,5,9}
s4=s1^s3^s2
print(s4)
PS E:\python> python set-dictionary.py
{3, 4, 7, 8, 9}
PS E:\python>
他是按照順序兩個兩個看,所以先看 s1^s2 得到 {3,5,7,8},再看 {3,5,7,8}^s3,得到 {3,4,7,8,9}
@@cwpeng-course 感謝老師~~
老師你好 想請教一下你請問使用key可以回傳value卻沒辦法倒過來寫嗎? (我只是個好奇的初學者)
又或者說請問可以判斷key的存在 那要怎麼寫判斷value的存在呢? 謝謝
還有我找到合併的寫法是
z = {**x, **y}或是
z = x.copy()
z.update(y)
請問老師可以解釋一下意思嗎 謝謝
不能倒過來查找,一定是從 key 查找 value,也無法直接判斷 value 的存在,除非額外寫迴圈去一個一個檢查。
你貼的程式看起來只是片段,需要把完整的程式貼出來我才有辦法幫忙解讀哦 ~
@曾益誠
如果 dic={1:2,3:4} 要判斷2是否在dic字典裡的value值時 可以用 2 in dic.values() 來寫 在裡面就會回傳True 反之False
要用value值回傳key 假設你要2這個value的key值 可以寫 [ i for i,j in dic.items() if j==2] 這會是一個包含1的串列 [1] 因value值可能有重複,假設dic是{1:2,3:4,5:2] 結果會是[1,5] 基本上用value回傳key值會比較麻煩 這是迴圈的寫法
太晚發現了QQ 很受用 謝謝!
很高興對你有幫助 :)))
可以直接 print ( "S3= S1 &S2") 嗎 在PRINT里做運算
然後如果不用SET 可以用IN 測試 HALLO 嗎
print(eval("S3=S1&S2"))
可以哦,in 使用在很多場合,要看實際上程式長甚麼樣子而定
老師你好:請問影片中交集、聯集、反交集的註解都寫"取兩個集合中",請問這個語法是三個集合就無法使用嗎?
我自己現在試是可以,不知道是不是這幾年有更新或者他原因,我才剛看你的影片開始學還不太懂
請問一下老師
我打了
dic = {n: n*2 for n in [6, 4, 2]}
print(dic)
print("6" in dic)
為什麼出來是False?
因為用那個方式產生出來的 key 其實是數字。
你改成 print(6 in dic) 就會是 True 嘍 ~~~~
請問交集、連吉等符號可以用在有序列表嗎
不行哦 ~~
看了教學還在想要不要買書來看..(同學們/老師 有推薦的書籍嗎)?
零基礎救星
十年後希望我熱忱還在..
python初學特訓班
還是可以找喜歡的書來看哦,會有不同的感覺 XDDDD 雖然我已經無法推薦書籍了 @@a
感謝前輩們 謝謝
想問一下老師 你dic() 我可以把dic改成自己想要的英文字嗎
然後小刮 中刮 大刮 是不是也都有代表的東西 而不能亂用的?
變數名稱可以換,但括號每個都有各自的意義,不能亂用的。
每天上班搭車學一集~~
哈哈哈,這樣很有效的利用時間 ~~~~~
字典的應用情境是在深度學習嗎?打tag上去
字典是很基礎的結構,大多數的程式都會需要使用到字典,不一定是深度學習。
17:00
若 我想知道 "蟲" 是不是在 dic 的 『值』裡面,要如何操作?
寫個for? 把所有 dic的值 全部遍歷一遍 去判斷??
確實是用迴圈哦。如果是 KEY 的話才能很快的判斷 ~~~~
謝謝老師
:)
請問老師能用兩個不同的列表產生字典嗎
像是dic={x:y } 如果可以的話要怎麼設定y列表?
試試看這個範例:
keys=["a","b","c"]
values=[1, 2, 3]
dictionary=dict(zip(keys, values))
print(dictionary)
@@cwpeng-course 好的 謝謝老師:)
謝謝老師!
不會 :)
我覺得大大以後出教學影片的後面可出個簡單的練習題,測驗自己到底聽沒聽懂🤣
哈哈哈,感謝你的建議,我盡量 XDDD
12/03/2021 謝謝老師
不會呦 :)
真的講解的非常清楚!超棒的,可以一下子把語法學的很快。
每一個語法對應一個例子,讓人快速理解
但是是否能提供一些實際的應用案例呢?否則就變成只能硬記了,謝謝老師
謝謝你的回饋 ~
好哦,我們的課程從基礎開始,慢慢地都會盡量的帶進一些實際的應用,我會盡量 :)
@@cwpeng-course 謝謝老師!看到後面都有很棒的網頁爬蟲案例了!實在是太棒了~
請問老師
a=[1,2,3,4,5]
b=[5,10,15,20,25]
dic={x:y for x in a for y in b}
print(dic)
這樣的打法跑不出一對一
請問有沒有能跑出一對一的書寫方式呢?
謝謝!
你可以試試以下的寫法:
a=[1,2,3,4,5]
b=[5,10,15,20,25]
dic=dict(zip(a, b))
print(dic)