Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2013 17:16:08

kt368
От:
Зарегистрирован: 2012-01-08
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Как лаконично, в питоновском стиле сгенерировать строку

Здравствуйте! Подскажите сабж на выходе должна быть такая строка:
'freq_1,freq_2,freq_3,freq_4,freq_5,freq_6,freq_7,freq_8,freq_9,freq_10'
Строка ‘freq_’ берётся из переменной s. Индексы (1,2,3,…) - n индексов от a ( т.е. a,a+1,a+2,…,a+(n-1) ).
Можно ли это сделать в одной строке?
Заранее спасибо.



Офлайн

#2 Фев. 16, 2013 17:26:01

kt368
От:
Зарегистрирован: 2012-01-08
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Как лаконично, в питоновском стиле сгенерировать строку

Как обычно, как только спросил - тут же придумал =)
Вот так получилось:

s='freq'
a=1
n=10
','.join(s+str(a) for a in xrange(n,n+a))
Если что-то не красиво, покритикуйте :)



Офлайн

#3 Фев. 16, 2013 18:15:15

alekzp
Зарегистрирован: 2012-06-14
Сообщения: 13
Репутация: +  1  -
Профиль   Отправить e-mail  

Как лаконично, в питоновском стиле сгенерировать строку

print(','.join(['freq_'+str(x) for x in range(0,10)]))

Отредактировано alekzp (Фев. 16, 2013 18:17:10)

Офлайн

#4 Фев. 17, 2013 03:46:12

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как лаконично, в питоновском стиле сгенерировать строку

kt368
ну не считая того что ваш собственный вариант не совпадает с заданием, то все нормально. честно. Ну или вот так вот:

>>> ','.join('{}_{}'.format(s,x) for x in xrange(a, n+a))
'freq_1,freq_2,freq_3,freq_4,freq_5,freq_6,freq_7,freq_8,freq_9,freq_10'



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version