2014-09-11 49 views
-1

我正在處理一組列表中的數據。我試圖替換嵌套列表中的一個元素的一部分;即,我想刪除這些列表中的某些元素的引號。在Python中爲嵌套列表使用replace()for循環

這裏是到目前爲止我的代碼:

for items in list: 
    for i in range(len(items)): 
     items[i] = items.replace("", '') 

當然,因爲項目是一個列表,而不是一個字符串,這將產生一個錯誤。我嘗試在.replace之前添加一個[i],以查看是否有所作爲,但它不會進行我想要的更改。我對Python和編碼很陌生,所以我很喜歡任何見解 - 我發現大多數其他「適合我的問題」的例子比我的理解更先進。

如果有幫助,我使用Python 2.7。提前致謝!

+0

你可以給你的列表清單的結構的一個例子,即'X = [1,2 ,3],[「hlleo」,「something」,0]]' – Jay 2014-09-11 00:11:37

+1

**請不要使用列表作爲您自己序列的名稱,因爲它是內建函數的名稱。 – 2014-09-11 01:08:07

回答

1

我想你想items[i] = items[i].replace('"', ''),但是這甚至可能是乾淨了一點:

for sublist in lst: 
    sublist[:] = [s.replace('"', '') for s in sublist] 
+1

難道你不需要'replace'(''','')'? – Jay 2014-09-11 00:14:34

+0

@Jay - yep。謝謝。 – mgilson 2014-09-11 00:15:05

+0

高興地幫忙:D – Jay 2014-09-11 00:17:46

0
>>> l 
[['one', 'with"quote'], ['two', 'three', 'another"quote']] 

>>> for items in l: 
... for i in range(len(items)): 
...  items[i] = items[i].replace('"','') 
... 
>>> l 
[['one', 'withquote'], ['two', 'three', 'anotherquote']]