PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
Re: [問題] Python List篩選-重複元素
作者:
dream0830
(異影)
2016-05-26 02:32:16
各位再次好
非常感謝各位上篇的幫忙
我後來又嘗試了回應中M大所說的 資源重複的情形
我將List中的資料改成(id,value)這種狀態
list = [(0,1),(1,2),(2,1),(3,1),(4,0),(5,0),(6,3)]
然後再從中做分層篩選
第一層 篩選出相加=2的
第二層 篩選出剩下的資料,相加等於1的
第三層 剩餘的資料也保留
(已經用過的不能再用)
如果單純使用Combination
那就會發生重複的情形
像是 ((0,1),(2,1)) 選出來後 之後又有 ((0,1),(3,1))
所以我多加一些if去避免重複
以下是我目前寫的成果
https://ideone.com/OQyEFz
雖然達到了想要的結果
但是覺得實在很冗長
我又查了itertools的其他函數
但是好像找不到可以用於簡化目前程式的工具
因此想再次請教各位
有沒有辦法使其再簡化一點
謝謝
作者:
dream0830
(異影)
2016-05-26 04:36:00
目前把check的部分刪除了 因為有重複會直接return就不用做check了
作者:
eight0
(欸XD)
2016-05-26 05:25:00
用 collections.Counter
https://ideone.com/zegl42
作者:
KJFC
(磁鐵貓)
2016-05-26 12:02:00
有些c要寫個好幾行 py一個collect就解決了
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2016-05-26 13:06:00
我覺得這個問題要先回到根本來分析, 才能設計出好的寫法這個需要從需求開始看, 晚點來完整回一下好了
作者: s06yji3 (阿南)
2016-05-26 20:42:00
(1,2)和(4,0)還是(1,2)和(5,0)? id小的先取?
https://ideone.com/jziqGx
我用dict來確認和是不是2(或1),是的話就加入到tmp,並把存在dict的item刪掉,如果不存在的話就加到dictreturn有兩個list,一個是匹配好的,另一個是剩下的痾....有bug請先忽略QQ修好了QQbug是沒匹配到的數據會被洗掉
作者: penguin7272 (企鵝)
2016-05-27 02:04:00
https://ideone.com/lnqs0c
可以的話不太想用 idx或 value 之類的的命名, 所以還是要看本來的問題
作者:
dream0830
(異影)
2016-05-28 04:51:00
感謝各位熱心幫忙max(result, key=lambda item, item[1]
繼續閱讀
[問題] 關於 plotly 內 gauge chart 的指針調整
tacosung
[徵人] 急徵Web scraping/網頁大數據挖掘工程師
jiarjia
[問題] 爬蟲出現問題
proud
[資訊] Pycon Taiwan 2016 Tutorial
hane1818
[閒聊] 最近學了try/except/else/finally
shemale
[問題] (Fix)經由UART傳遞固定byte的資料至C Code
c74319
[問題] python on OS X os.system('clear')
ray60110
[問題] 執行卻說讀不到已安全模組 imutils
jackjenny
Re: [問題] 排列組合問題
SocketAM2
[資訊] Pycon Taiwan 2016 Sprint 活動報名
hane1818
Links
booklink
Contact Us: admin [ a t ] ucptt.com