看板 Python 關於我們 聯絡資訊
類似 result={ c.tel : c for c in company_list}.values() 應該就行了。 { ... } 這個是 dict comprehension. 裡面做的 簡單來說就是用你原本的 list,建一個 dict. Key 是用 每個 element 的 tel field, Value 則 是element 本身(你的 company) 有重覆的key 的話,後來的會覆蓋掉之前的值。 .values() 就是從上面那個 dict 取得所有值。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.130.130.217 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1551158335.A.C00.html
cutekid: 推(Y) 02/26 13:27
nini200: 覆蓋的意思是指 用個for迴圈去判tel有無重複 無則儲存 02/27 04:14
nini200: 嗎? 02/27 04:14
nini200: 然後發現奇怪的事 tel在dict的value 竟然無法比對 key可 02/27 04:16
adrianshum: 覆蓋的意思是指 comprehension 出現同key 的情況。建 02/27 09:39
adrianshum: 議先去讀一讀 Dict comprehension 的教學 02/27 09:39
adrianshum: 不需再加什麼for loop 比對了。 02/27 09:40
nini200: 剛去官方爬文了大概知道用字典去除電話重複 但那語法一 02/27 16:49
nini200: 直寫不正確 02/27 16:50
nini200: a={'公司':'123456','公司1':'123456','公司3':'123456'} 02/27 16:50
nini200: 語法要怎麼寫呢 02/27 16:51
nini200: print({[(c,a.values()) for c in a ]}.values) 02/27 16:57
nini200: 我寫成這樣就報錯了 02/27 16:57
adrianshum: { v:k for (k,v) in a.items() } 之類? 02/27 23:08
lemon651: 如果你知道怎麼存成字典的話,為何不電話當成key就好了 02/28 16:04
lemon651: 呢?如果有重複出現覆蓋或略過即可 02/28 16:04
adrianshum: 樓上:我做的正是你在說的事呀。 03/01 08:36
nini200: 哇 解決 感謝以上各位前輩 03/02 08:12