Markus84612
Markus84612

Reputation: 311

Concatenate string to the end of all elements of a list in python

I would like to know how to concatenate a string to the end of all elements in a list.

For example:

List1 = [ 1 , 2 , 3 ]
string = "a"

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

Upvotes: 7

Views: 20631

Answers (8)

Tim Hughes
Tim Hughes

Reputation: 3541

>>> List1 = [ 1 , 2 , 3 ]
>>> string = "a"
>>> output = [s + string for s in map(str, List1)]
>>> output
['1a', '2a', '3a']

Upvotes: 0

Markus84612
Markus84612

Reputation: 311

A 1 liner:

List1= [s + a for s in List1]

Upvotes: -1

Rakshith
Rakshith

Reputation: 77

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

Convert each element in the list to string and then add the required string to each element of the list.

Upvotes: 0

DARK_C0D3R
DARK_C0D3R

Reputation: 2257

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

Upvotes: 0

Mike Müller
Mike Müller

Reputation: 85482

In one line:

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

You need to convert the integer into strings and create a new strings for each element. A list comprehension works well for this.

Upvotes: 4

Jean-François Fabre
Jean-François Fabre

Reputation: 140196

rebuild the list in a list comprehension and use str.format on both parameters

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

Upvotes: 8

sanit
sanit

Reputation: 1764

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

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

Upvotes: 1

Ajax1234
Ajax1234

Reputation: 71451

You can use map:

List1 = [ 1 , 2 , 3 ]
string = "a"
new_list = list(map(lambda x:"{}{}".format(x, string), List1))

Output:

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

Upvotes: 0

Related Questions