2012-04-26 138 views
2

我有一個列表:列表中的替換字符串值

s = ["sam1", "s'am2", "29"] 

我想從整個名單更換'
我需要輸出

s = ["sam1", "sam2", "30"] 

目前我通過列表進行迭代。
有沒有更好的方法來實現它?

+1

對於這個問題的所有答案最終都會以某種方式迭代列表,除非! – dc5553 2012-04-26 06:40:20

+1

遍歷列表有什麼問題? – 2012-04-26 06:55:11

回答

7

你可以試試這個:

s = [i.replace("'", "") for i in s] 

但指出這仍是通過列表進行迭代。我不能想到任何解決方案,在某些時候不會包含列表的某種迭代(顯式或隱式)。

如果你有很多數據需要這樣做,並且關心速度,你可以通過計算它們並選擇最快的方法來評估各種方法,否則我會堅持你認爲最有用的解決方案可讀。

+1

這是迭代列表..他要求在他的問題中的其他東西。 – dc5553 2012-04-26 06:37:16

+0

列翁是最終這將是即使在非常原子水平 – dc5553 2012-04-26 06:49:54

+0

@ dc5553我既您的意見 – Levon 2012-04-26 06:53:10

2

您還可以使用maplambda

map(lambda a: a.replace("\'",""),s)

1

山姆,

這是我能想到的做沒有迭代最接近的方式。最終它以某種方式在非常原子級別迭代。

s = ["sam1", "s'am2", "29"] 
x = ','.join(s).replace("'","").split(",") 
+0

一致的情況下由於是這個問題...... – dc5553 2012-04-26 07:20:12

+0

我100%同意,但瘋狂的問題變得瘋狂的答案,隨意張貼不涉及迭代的解決方案.. – dc5553 2012-04-26 07:24:02

+0

它可以適應在連接上使用一些其他瘋狂的分隔符,這只是一個例子當然 – dc5553 2012-04-26 07:31:55