什么是在Python中将int的long,double转换为字符串,反之亦然的最佳方式。Python类型转换
我正在遍历一个列表并将longs传递给一个应该变成unicode字符串的字典。
我
for n in l:
{'my_key':n[0],'my_other_key':n[1]}
为什么一些最明显的事情这么复杂?
什么是在Python中将int的long,double转换为字符串,反之亦然的最佳方式。Python类型转换
我正在遍历一个列表并将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 Unicode字符串2.
你能做到这样
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)))
“传递渴望的字典应该变成一个Unicode字符串”?那“显而易见”是怎么样的?你想达到什么目的? –
在JAVA中,您可以调用您可能认为在Python中显然可用的toString()方法。它通过str()方法存在于Python中。只是不在对象本身。 – Dave
“不在对象本身上”。 'str(任何)'适用于每种类型 - 根据定义。对于你自己的类,'def __str __(self)'来定制返回的东西(就像Java的'toString')你有什么实际的问题?你能提供代码和示例输出吗? –