2010-01-15 140 views
0

我有以下列表:拆分名單蟒蛇

mylist = ['Hello,\r', 'Whats going on.\r', 'some text'] 

當我寫「MYLIST」到一個名爲file.txt的

open('file.txt', 'w').writelines(mylist) 

我爲每一個線一點點,因爲文本文件\ r:

Hello, 
Whats going on. 
some text 

我該如何操作mylist以用空格替換\r?最後我需要這個在file.txt

Hello, Whats going on. sometext 

它必須是一個列表。

謝謝!

+0

這與「分割列表」(您的標題)有什麼關係?我想看,但我還沒有看到。 – n611x007 2015-02-05 16:18:13

回答

5
mylist = [s.replace("\r", " ") for s in mylist] 

這循環遍歷您的列表,並在其中的每個元素上進行字符串替換。

0

遍歷整個列表以匹配正則表達式來替換/ r空格。

+3

一個正則表達式對於一個簡單的替換來說是過度的。 – sth 2010-01-15 22:37:52

+0

是否真的需要downvote?我的回答沒有錯。有更好的答案,我會承認這一點。 – 2010-01-15 22:58:46

1
open('file.txt', 'w').writelines(map(lambda x: x.replace('\r',' '),mylist)) 
0

我不知道你是否有這種奢侈品,但我其實很喜歡在沒有換行符的情況下保留我的字符串列表。這樣,我就可以操縱它們,在調試模式下執行這些操作,而無需對它們執行「rstrip()」。

例如,如果你的字符串被保存,如:

mylist = ['Hello,', 'Whats going on.', 'some text'] 

然後,你可以這樣顯示出來:

print "\n".join(mylist) 

print " ".join(mylist) 
0

使用.rstrip()

>>> mylist = ['Hello,\r', 'Whats going on.\r', 'some text'] 
>>> ' '.join(map(str.rstrip,mylist)) 
'Hello, Whats going on. some text' 
>>>