2013-05-20 35 views
0

我必須替換列表中每個元組中的某些字符。我知道如何用一個基本字符串來完成它。替換列表中的字符

import string 
s = 'This:is:awesome' 
ss = s.replace(':', '/') 
print ss 

但是,我將如何去通過列表循環?

import string 
finalPathList = [] 
pathList = ['List of 10+ file path names'] 
for lines in pathList: 
    ss = pathList.replace('\', '/') 
    print ss 
    finalPathList.append(ss) 

所有我需要做的就是經過文件名的每個元組,以及「同"/"小號的替換所有"\"的。

任何幫助將不勝感激!

+2

適用'replace'爲'lines',不'pathList'。 – Junuxx

+0

他真的需要爲此導入字符串嗎? – Ofiris

+0

作爲一個方面,你不能使用'「\」',使用'「\\」'或更好地使用原始字符串。 http://stackoverflow.com/questions/11168076/why-cant-i-end-a-raw-string-with-a –

回答

3

是這樣的?

>>> pathList = [r"C:\Users", r"C:\Documents", r"C:\Downloads\Test"] 
>>> finalPathList = [] 
>>> for element in pathList: 
      finalPathList.append(element.replace("\\", "/")) 


>>> finalPathList 
['C:/Users', 'C:/Documents', 'C:/Downloads/Test'] 

或者使用List Comprehension。

>>> finalPathList = [elem.replace("\\", "/") for elem in pathList] 
>>> finalPathList 
['C:/Users', 'C:/Documents', 'C:/Downloads/Test'] 
+0

+1使用原始字符串,否則類似'「C:\ test」'會導致不想要的結果。 –

+0

謝謝。現在好嗎? :) –

+0

是的,就像一個魅力。 :) –

2
finalPathList = map(lambda x: x.replace('\\', '/'), pathList) 

map是一個功能應用到每個list項目的好方法。

+0

感謝您的評論!刪除了我的錯誤。 – Ofiris

1

更正你的代碼...

finalPathList = [] 
pathList = ['List of 10+ file path names'] 
for lines in pathList: 
    ss = lines.replace('\\', '/') 
    print ss 
    finalPathList.append(ss)