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)