Python добавляет строку ко всем элементам набора

Мне интересно, как Python способ выполнить следующее - учитывая набор:

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

Я хотел бы выполнить что-то вроде:

s.addToAll('!')

получить

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

Спасибо!

2 ответа

Решение

Для фактического набора:

>>> 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!'])

Вы можете попробовать это:

>>> s = ['s1','s2','s3']
>>> list(i + '!' for i in s)
Другие вопросы по тегам