Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Join a list of items with different types as string in Python

I need to join a list of items. Many of the items in the list are integer values returned from a function; i.e.,

myList.append(munfunc())  

How should I convert the returned result to a string in order to join it with the list?

Do I need to do the following for every integer value:

myList.append(str(myfunc())) 

Is there a more Pythonic way to solve casting problems?

like image 328
AKM Avatar asked Aug 28 '10 09:08

AKM


2 Answers

Calling str(...) is the Pythonic way to convert something to a string.

You might want to consider why you want a list of strings. You could instead keep it as a list of integers and only convert the integers to strings when you need to display them. For example, if you have a list of integers then you can convert them one by one in a for-loop and join them with ,:

print(','.join(str(x) for x in list_of_ints)) 
like image 161
Mark Byers Avatar answered Sep 20 '22 16:09

Mark Byers


There's nothing wrong with passing integers to str. One reason you might not do this is that myList is really supposed to be a list of integers e.g. it would be reasonable to sum the values in the list. In that case, do not pass your ints to str before appending them to myList. If you end up not converting to strings before appending, you can construct one big string by doing something like

', '.join(map(str, myList)) 
like image 30
allyourcode Avatar answered Sep 19 '22 16:09

allyourcode