我想任意列表的字符串表示形式轉換回原來的樣表對象,如下面的代碼解釋:轉換爲/獲取原始列表對象從原來的列表對象的字符串表示在python
list1 = [1,2,3,4]
list1str = str(list1)
str2list1 = list1str[1:-1].split(",") #stripping off square brackets from [1,2,3,4] and then splitting
print(list1) #[1,2,3,4]
print(str(list1)) #[1,2,3,4]
print(str2list1) #['1', ' 2', ' 3', ' 4']
#Notice that the elements are of string types.
#Also there is a prefix empty space in ' 2' (and also in ' 3' and ' 4')
# --> I will like str2list1 to be ['1', ' 2', ' 3', ' 4']
此外,如果我們處理的嵌套列表:
list2 = [1,2,['a','b'],4]
list2str = str(list2)
str2list2 = list2str[1:-1].split(",")
print(list2) #[1, 2, ['a', 'b'], 4]
print(str(list2)) #[1, 2, ['a', 'b'], 4]
print(str2list2) #['1', ' 2', " ['a'", " 'b']", ' 4']
# --> I will like str2list2 to be [1, 2, ['a', 'b'], 4]
我怎樣才能得到準確的從它的字符串表示原來的名單?
如果列表項是整數,那麼你還可以利用'地圖(INT,列表1)'在python2.x – dnit13
我懷疑這是一個XY的問題,可以使用解決'json'模塊。 – Kevin