已经通过Stack Exchange做了一些搜索回答问题,但一直无法找到我要找的东西。
给出以下列表:
a = [1, 2, 3, 4]
我将如何创建:
a = ['hello1', 'hello2', 'hello3', 'hello4']
谢谢!
答案 0 :(得分:38)
['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']
答案 1 :(得分:9)
另一个选择是使用built-in map function:
a = range(10)
map(lambda x: 'hello%i' % x, a)
根据WolframH编辑评论:
map('hello{0}'.format, a)
答案 2 :(得分:1)
In [1]: a = [1,2,3,4]
In [2]: ["hello" + str(x) for x in a]
Out[2]: ['hello1', 'hello2', 'hello3', 'hello4']
答案 3 :(得分:0)
您也可以使用%
代替format()
>>> a = [1, 2, 3, 4]
>>> ['hello%s' % i for i in a]
['hello1', 'hello2', 'hello3', 'hello4']