作者yauhh (喲)
看板Python
標題Re: [問題]不用for迴圈尋找陣列中只出現過一次的資料
時間Wed May 21 01:50:11 2014
※ 引述《sariel0322 (sariel)》之銘言:
: 我想要請問一下,如果我有一串數字
: A = [9,5,5,4,7,6,4,1,2,0,10,9,7,....]
: 要如何找出這列資料中只出現一次的數字,但不用到for迴圈的方法
def uniq(li):
A = li[:]
A.sort()
B = A[:-1]
return [x for x in A if (x, x) not in \
filter(lambda (x,y): x == y, zip(A[1:],B))]
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.145.113
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1400608216.A.513.html
※ 編輯: yauhh (118.167.145.113), 05/21/2014 01:51:02
→ apua:給了我一個 idea 05/21 02:14
→ apua:def uniq(L): 05/21 02:15
→ apua: S = sorted(L) 05/21 02:15
→ apua: Multi = map(lambda T:T[0], 05/21 02:15
→ apua: filter(lambda T:T[0]==T[1], zip(S[1:],S[:-1]))) 05/21 02:15
→ apua: return sorted( set(L) - set(Multi) ) 05/21 02:16
→ yauhh:最後既然是set,不必sort 05/21 02:22
→ apua:只是想得到一個漂亮的 list 05/21 14:28