Python类型转换

时间:2010-03-03 22:01:00

标签: python types int

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

我循环遍历列表并将long传递给应该转换为unicode字符串的dict。

我做

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

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

3 个答案:

答案 0 :(得分:37)

要从数字类型转换为字符串:

str(100)

要从字符串转换为int:

int("100")

要从字符串转换为float:

float("100")

答案 1 :(得分:2)

你可以在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字符串相同。

答案 2 :(得分:0)

你可以这样做

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

如果只有2个或3个键/值

,也许更清楚
for my_value, my_other_value in l:
    {'my_key':unicode(my_value),'my_other_key':unicode(my_other_value)}

我认为如果有超过3个键/值

会更好
for n in l:
    dict(zip(('my_key','myother_key'),map(unicode,n)))