什麼是在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')你有什麼實際的問題?你能提供代碼和示例輸出嗎? –