Re: [問題] 多欄位去除重複元素方式?(求思路)

看板Python作者 (Alien)時間6年前 (2019/02/26 13:18), 編輯推噓6(6012)
留言18則, 4人參與, 6年前最新討論串2/2 (看更多)
類似 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

02/26 13:27, 6年前 , 1F
推(Y)
02/26 13:27, 1F

02/27 04:14, 6年前 , 2F
覆蓋的意思是指 用個for迴圈去判tel有無重複 無則儲存
02/27 04:14, 2F

02/27 04:14, 6年前 , 3F
嗎?
02/27 04:14, 3F

02/27 04:16, 6年前 , 4F
然後發現奇怪的事 tel在dict的value 竟然無法比對 key可
02/27 04:16, 4F

02/27 09:39, 6年前 , 5F
覆蓋的意思是指 comprehension 出現同key 的情況。建
02/27 09:39, 5F

02/27 09:39, 6年前 , 6F
議先去讀一讀 Dict comprehension 的教學
02/27 09:39, 6F

02/27 09:40, 6年前 , 7F
不需再加什麼for loop 比對了。
02/27 09:40, 7F

02/27 16:49, 6年前 , 8F
剛去官方爬文了大概知道用字典去除電話重複 但那語法一
02/27 16:49, 8F

02/27 16:50, 6年前 , 9F
直寫不正確
02/27 16:50, 9F

02/27 16:50, 6年前 , 10F
a={'公司':'123456','公司1':'123456','公司3':'123456'}
02/27 16:50, 10F

02/27 16:51, 6年前 , 11F
語法要怎麼寫呢
02/27 16:51, 11F

02/27 16:57, 6年前 , 12F
print({[(c,a.values()) for c in a ]}.values)
02/27 16:57, 12F

02/27 16:57, 6年前 , 13F
我寫成這樣就報錯了
02/27 16:57, 13F

02/27 23:08, 6年前 , 14F
{ v:k for (k,v) in a.items() } 之類?
02/27 23:08, 14F

02/28 16:04, 6年前 , 15F
如果你知道怎麼存成字典的話,為何不電話當成key就好了
02/28 16:04, 15F

02/28 16:04, 6年前 , 16F
呢?如果有重複出現覆蓋或略過即可
02/28 16:04, 16F

03/01 08:36, 6年前 , 17F
樓上:我做的正是你在說的事呀。
03/01 08:36, 17F

03/02 08:12, 6年前 , 18F
哇 解決 感謝以上各位前輩
03/02 08:12, 18F
文章代碼(AID): #1STCm_m0 (Python)
文章代碼(AID): #1STCm_m0 (Python)