Whats the best way to convert int\'s, long\'s, double\'s to strings and vice versa in python.
I am looping through a list and passing longs to a dict that should be
To convert from a numeric type to a string:
str(100)
To convert from a string to an int:
int("100")
To convert from a string to a float:
float("100")
You could do it like this in Python 2.x:
>>> l = ((1,2),(3,4))
>>> dict(map(lambda n: (n[0], unicode(n[1])), l))
{1: u'2', 3: u'4'}
or in Python 3.x:
>>> l = ((1,2),(3,4))
>>> {n[0] : str(n[1]) for n in l}
{1: '2', 3: '4'}
Note that strings in Python 3 are the same as unicode strings in Python 2.
You can do it this way
for n in l:
{'my_key':unicode(n[0]),'my_other_key':unicode(n[1])}
Perhaps this is clearer if there are only 2 or 3 keys/values
for my_value, my_other_value in l:
{'my_key':unicode(my_value),'my_other_key':unicode(my_other_value)}
I think this would be better if there are more than 3 keys/values
for n in l:
dict(zip(('my_key','myother_key'),map(unicode,n)))