2011-04-18 103 views
1

我有很多與字符串對文件看起來像:Python的方式來將字符串分割成兩個列表

first_string〜second_string

第一部分是要改變什麼;第二,要第一部分有什麼變化。

這些是正則表達式,我用這些集合運行我的應用程序,將所有修改應用於超過一百個頻道的髒電視時間表列表。我之前用C#做過,但現在我正在用Python重新編寫它。

讓我們想象一下,我有一個文本文件,每個文本文件都有自己的行,看起來像find_this~change_to_this。我需要得到兩個名單。首先將包含所有查找字符串,第二個將包含所有更改字符串。

讓我們想象一下,我有120個這樣的對。現在我將這些對分成兩個列表,每個列表大小爲120個項目。一個發現,另一個 - 發生變化。現在,我可以通過一些索引來獲取這兩個字符串,例如57,並且它會從這兩個列表中獲得第57個項目,所以我爲任何查找字符串都獲得了正確的更改字符串。我發現了一些變體,但不確定哪一個更好。

什麼是分割字符串集合這樣的Python的:

first_string~second_string 

使用輸入到它拆分成兩個列表,其中第一列表包含之前〜,第二個項目 - 之後。

+0

「更好」?更快?便宜?最喜歡Ruby? 「更好」是什麼意思? 「美麗」是主觀的。 「一致」與什麼?你使用'分區'嗎? – 2011-04-18 17:47:17

+2

好的,對於主觀要求抱歉。我們稱之爲pythonic。它現在有什麼意義嗎? :) – 2011-04-18 17:48:59

+0

不是。你的'first_string〜second_string'例子看起來不完整。此外,你還沒有顯示你已經使用的代碼。這只是「分區」和「分裂」。請包含您的解決方案,以便我們對其進行評論。 – 2011-04-18 17:50:15

回答

10
x = ["c~d", "e~f", "g~h"] 
a, b = zip(*(s.split("~") for s in x)) 
print a 
print b 

打印

('c', 'e', 'g') 
('d', 'f', 'h') 
相關問題