2013-11-12 3 views
1

Я хочу создать список строк с фиксированным префиксом, в котором суффикс основан на размере списка, используя python 3.3.2.Создать список строк с фиксированным префиксом на основе размера списка

Например, у меня есть список elementslen(elements) с равным 3. Выход должен быть список output = ['prefix_1','prefix_2','prefix_3']

Я могу сделать это с помощью цикла:

elements = ['elem1','elem2','elem3'] 
output = [] 
for i in range(len(elements)): 
    output.append('prefix_'+str((i+1))) 

Это работает, но кажется немного ... неспокойный для меня. Есть ли более питонический способ сделать это? Например, с пониманием списка?

ответ

2

Использование enumerate, str.format:

>>> elements = ['elem1','elem2','elem3'] 
>>> output = ['prefix_{}'.format(i) for i, elem in enumerate(elements, 1)] 
>>> output 
['prefix_1', 'prefix_2', 'prefix_3'] 
1
o = ["prefix_" + str(i+1) for i in range(len(elements))] 
1
output=['prefix_'+str(i+1) for i in range(len(['elem1','elem2','elem3']))] 
Смежные вопросы