2

私はちょうどpythonで遊んで始めました。str() を使用して任意のリストを文字列に変換できることはわかっています。

>>> l = [[1,1] , [2,2] , [3,3]]
>>> l
[[1, 1], [2, 2], [3, 3]]
>>> type(l)
<type 'list'>
>>> str(l)
'[[1, 1], [2, 2], [3, 3]]'
>>> list_string = str(l)
>>> list_string
'[[1, 1], [2, 2], [3, 3]]'
>>> type(list_string)
<type 'str'>

list_string を 2d リストに変換する方法はありますか?? 基本的に、これを元の形に戻す機能はありますか?

old_list = magic_conversion_func(list_string)

>>>old_list
[[1, 1], [2, 2], [3, 3]]

list() を試しましたが、文字列内のすべての文字が新しいリスト要素に変換されます。

>>> list(list_string)
['[', '[', '1', ',', ' ', '1', ']', ',', ' ', '[', '2', ',', ' ', '2', ']', ',', ' ', '[', '3', ',', ' ', '3', ']', ']']

それは私が望むものではありません

4

2 に答える 2

1

使用してeval

>>> l = [[1,1] , [2,2] , [3,3]]
>>> list_string = str(l)
>>> eval(list_string)
[[1, 1], [2, 2], [3, 3]]

しかしeval、注意して使用する必要がありますよね?安全に関するスレッドeval

これも同様に機能し、試したものに近いlist

import numpy as np
print np.array(list_string)
于 2013-11-01T10:05:00.183 に答える