Re: [问题] 多字段去除重复元素方式?(求思路)

楼主: adrianshum (Alien)   2019-02-26 13:18:53
类似
result={ c.tel : c for c in company_list}.values()
应该就行了。
{ ... } 这个是 dict comprehension. 里面做的
简单来说就是用你原本的 list,建一个 dict.
Key 是用 每个 element 的 tel field, Value 则
是element 本身(你的 company)
有重复的key 的话,后来的会覆蓋掉之前的值。
.values() 就是从上面那个 dict 取得所有值。
作者: cutekid (可爱小孩子)   2019-02-26 13:27:00
推(Y)
作者: nini200 (200妮妮)   2019-02-27 04:14:00
覆蓋的意思是指 用个for循环去判tel有无重复 无则储存吗?然后发现奇怪的事 tel在dict的value 竟然无法比对 key可
楼主: adrianshum (Alien)   2019-02-27 09:39:00
覆蓋的意思是指 comprehension 出现同key 的情况。建议先去读一读 Dict comprehension 的教学不需再加什么for loop 比对了。
作者: nini200 (200妮妮)   2019-02-27 16:49:00
刚去官方爬文了大概知道用字典去除电话重复 但那语法一直写不正确a={'公司':'123456','公司1':'123456','公司3':'123456'}语法要怎么写呢print({[(c,a.values()) for c in a ]}.values)我写成这样就报错了
楼主: adrianshum (Alien)   2019-02-27 23:08:00
{ v:k for (k,v) in a.items() } 之类?
作者: lemon651 (小明)   2019-02-28 16:04:00
如果你知道怎么存成字典的话,为何不电话当成key就好了呢?如果有重复出现覆蓋或略过即可
楼主: adrianshum (Alien)   2019-03-01 08:36:00
楼上:我做的正是你在说的事呀。
作者: nini200 (200妮妮)   2019-03-02 08:12:00
哇 解决 感谢以上各位前辈

Links booklink

Contact Us: admin [ a t ] ucptt.com