2017-07-09 34 views
-1

我正在以文本文件的形式讀取行,然後通過空格分隔這些行,並給出了一個2d列表。嵌入式數組中的某些字符串包含我試圖用str.replace過濾掉的垃圾,但它不起作用。替換2d python列表中的字符串

import os 

infile = 'CMULEX.txt' 

data = [] 
with open(infile, 'r') as f: 
    read_data = f.readlines() 

    for row in read_data[:5]: 
     split_line = (row.split()) 
     data.append(split_line) 

for line in data[:5]: 
    for wd in line: 
     wd = wd.replace('Coda', '') 
+0

「我知道了」 ......我想你省略結束。 –

+0

你能告訴我們CMULEX.txt的一部分嗎? – MishaVacic

+1

您不會*將結果分配回列表項,只是'wd'循環變量。 –

回答

1

wd是一個局部變量。這不是一個返回列表的「指針」。列表理解似乎是這裏的優雅的解決方案:

for row in read_data[:5]: 
    split_line = (row.split()) 
    data.append([wd.replace("Coda", "") for wd in split_line]) 
+0

謝謝kindly –

-1
For line in data[:5]: 
    line[:] = [ '' if x == 'Coda' else x for x in line] 
+0

這段代碼是錯誤的,它替換了'line'而不是替換'data'中的代碼 – phd

+0

他從來沒有提到他想替換數據,他只是想要一個過濾的輸出,他可以在線上執行自己想要的操作。 –