在Python中将字符串连接到列表的所有元素末尾

5
我希望您能够告诉我如何将一个字符串连接到列表中所有元素的末尾。
例如:
List1 = [ 1 , 2 , 3 ]
string = "a"

output = ['1a' , '2a' , '3a']

output = ["".join([string,str(i)]) for i in List1] - Vasilis G.
1
@VasilisG。您的回答将字符串插入新元素到列表中,这样不好。我只想将字符串连接到现有元素的末尾。 - Markus84612
@Markus84612 你说得没错,你只需在列表中交换 stringstr(i) 的位置即可。 - Vasilis G.
7个回答

8

在列表推导式中重建列表,并对两个参数使用str.format

>>> string="a"
>>> List1 = [ 1 , 2 , 3 ]
>>> output = ["{}{}".format(i,string) for i in List1]
>>> output
['1a', '2a', '3a']

4

简单来说:

>>> lst = [1 , 2 , 3]
>>> my_string = 'a'
>>> [str(x) + my_string for x in lst]
['1a', '2a', '3a']

你需要将整数转换为字符串,并为每个元素创建一个新的字符串。使用列表推导式很适合这个任务。

1
L = [ 1, 2, 3 ]
s = "a"
print map(lambda x: str(x)+s, L);

输出 ['1a', '2a', '3a']


1
这仅适用于Python 2。 - Jean-François Fabre

0
你可以使用 map:
List1 = [ 1 , 2 , 3 ]
string = "a"
new_list = list(map(lambda x:"{}{}".format(x, string), List1))

输出:

['1a', '2a', '3a']

0
List1 = [ 1 , 2 , 3 ]
str1="a"
new_list = []
for item in List1:
    new_list.append(str(item)+str1)
print(new_list)

将列表中的每个元素转换为字符串,然后将所需的字符串添加到列表中的每个元素。


OP想要一行代码。 - Jean-François Fabre

0
result = map(lambda x:str(x)+'a',List1)

-1
一句话代码:
List1= [s + a for s in List1]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接