Re: [問題] 請問有關擷取資料的問題?

看板Python作者 (...)時間17年前 (2008/06/19 21:59), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串6/6 (看更多)
不好意思再請教一下... 就是我現在想用re.findall( ) 的方式寫看看能不能擷取出我要的東西 可是問題來了....這個指令是不是只能用在string上 而不能用在list? 因為他會出現像這樣的錯誤訊息: File "C:\Python25\lib\re.py", line 175, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer 所以我這個動作沒有辦法用re.findall( )寫嗎? @@ ※ 引述《gasolin (小g)》之銘言: : ※ 引述《clara830 (...)》之銘言: : : 不好意思再請教一個進階的問題.... : : 假設我現在有一個list是這樣: : : text = ['ABCD:from XXX X 12(V) XXX', 'EF:XXX XX', 'GH: from XXX XX 345(V) XX'] : : 比如說我現在想要讓程式判斷 : : : 如果裡面有包含'from'的話 : : 就把其中冒號前面的字串找出來 以及找出其中(V)前面的字串 : : 以這個例子來說的話 也就是希望擷取出 [(ABCD, 12), (GH, 345)] : : 好像有點複雜.....不知道這有辦法寫出來嗎? : : 現在好像還想不到怎麼解決 : 跟前面的回答基本一樣 : store = [] : text = [....] : for i in text: : if 'from' in i: : seg = i.split(':') : first_param = seg[0] : second_param = seg[1].split('(V)')[0] : store.append((first_param, second_param)) : print store -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.54.69

06/20 15:29, , 1F
是 要對list裡面每個string分別跑re.search之類的
06/20 15:29, 1F

06/20 21:33, , 2F
一個個loop?
06/20 21:33, 2F
文章代碼(AID): #18McPCC_ (Python)
文章代碼(AID): #18McPCC_ (Python)