Python类型转换


问题内容

在python中将int,long,double转换为字符串,反之亦然的最佳方法是什么。

我正在遍历列表,并将longs传递给应该转换为unicode字符串的字典。

我做

for n in l:  
    {'my_key':n[0],'my_other_key':n[1]}

为什么某些最明显的事情如此复杂?


问题答案:

您可以在Python 2.x中这样做:

>>> l = ((1,2),(3,4))
>>> dict(map(lambda n: (n[0], unicode(n[1])), l))
{1: u'2', 3: u'4'}

或在Python 3.x中:

>>> l = ((1,2),(3,4))
>>> {n[0] : str(n[1]) for n in l}
{1: '2', 3: '4'}

请注意,Python 3中的字符串与Python 2中的unicode字符串相同。