2013-04-12 90 views
1

我想知道什麼是Python的方式來執行以下 - 給定一組:Python中的字符串添加到所有集合的元素

s = {'s1','s2','s3'} 

我想執行類似:

s.addToAll('!') 

得到

{'s1!','s2!','s3!'} 

謝謝!

+0

元組是不可變的。見:http://stackoverflow.com/questions/626759/whats-the-difference-between-list-and-tuples-in-python –

+0

@jamylak - 的確,我編輯了這個問題。謝謝。 –

回答

7

對於實際設定:

>>> s = {'s1','s2','s3'} 
>>> {x + '!' for x in s} 
set(['s1!', 's2!', 's3!']) 

這種方法是2.7+,如果您使用Python 2.6,你就必須做到這一點,而不是:

>>> s = set(['s1','s2','s3']) 
>>> set(x + '!' for x in s) 
set(['s1!', 's2!', 's3!']) 
+0

不錯,但我覺得他需要元組你以前的答案'[x +'!'對於s]' –

+0

@GrijeshChauhan這將導致一個列表,需要'tuple()'它仍然。 –

+0

@GrijeshChauhan我決定回答實際的問題,說套,它是模糊的所以這就是爲什麼我說「爲一套實際」 – jamylak

0

你可以試試這個:

>>> s = ['s1','s2','s3'] 
>>> list(i + '!' for i in s) 
+0

檢查更新後的問題,現在是錯誤的。你也應該總是使用'[i +'!'爲我在s]列表comps而不是列表構造函數 – jamylak

相關問題