Подготовьте одну и ту же строку ко всем элементам в списке
Проделали некоторый поиск по ответам на Stack Exchange, но не смогли найти то, что я ищу.
Учитывая следующий список:
a = [1, 2, 3, 4]
Как мне создать:
a = ['hello1', 'hello2', 'hello3', 'hello4']
Спасибо!
Ответы
Ответ 1
Используйте понимание :
['hello{0}'.format(i) for i in a]
Понимание списка позволяет применять выражение к каждому элементу в последовательности.
Демо:
>>> a = [1,2,3,4]
>>> ['hello{0}'.format(i) for i in a]
['hello1', 'hello2', 'hello3', 'hello4']
Ответ 2
Еще один вариант - использовать функцию встроенную функцию карты:
a = range(10)
map(lambda x: 'hello%i' % x, a)
Редактировать согласно комментарию WolframH:
map('hello{0}'.format, a)
Ответ 3
используйте понимание списка:
In [1]: a = [1,2,3,4]
In [2]: ["hello" + str(x) for x in a]
Out[2]: ['hello1', 'hello2', 'hello3', 'hello4']