所以我遇到了一個問題,當我從xml文件讀取信息時。它讀入的數據應該是一個數字列表,但是當我讀入數據時,它就是一個字符串。有沒有辦法讀取XML數據作爲列表或將字符串轉換爲列表的方式。將字符串轉換爲python列表或讀取xml數據列表
例如,我得到的數據來自xml如[1.0,2.0,3.0,4.0,5.0],如果我檢查它的類型說它的一個字符串,即整個事情是一個字符串,包括括號和逗號。
不能換我圍繞如何轉變這一回數
所以我遇到了一個問題,當我從xml文件讀取信息時。它讀入的數據應該是一個數字列表,但是當我讀入數據時,它就是一個字符串。有沒有辦法讀取XML數據作爲列表或將字符串轉換爲列表的方式。將字符串轉換爲python列表或讀取xml數據列表
例如,我得到的數據來自xml如[1.0,2.0,3.0,4.0,5.0],如果我檢查它的類型說它的一個字符串,即整個事情是一個字符串,包括括號和逗號。
不能換我圍繞如何轉變這一回數
您可以使用eval()
如果你想你的轉換串到浮子
>>> string = '[1.0, 2.0, 3.0]'
>>> print(type(string))
<type 'str'>
>>> mylist = eval(string)
>>> print(type(mylist))
<type 'list'>
>>> print([type(x) for x in mylist])
[<type 'float'>, <type 'float'>, <type 'float'>]
>>> print(mylist)
[1.0, 2.0, 3.0]
對於這一點,你可以使用str.split()內置方法的表頭。
集x = "[1.0, 2.0, 3.0, 4.0, 5.0]"
首先,擺脫字符串周圍的方括號:
x = x[1:-1]
(X現在"1.0, 2.0, 3.0, 4.0, 5.0"
,長字符串)
然後,分割字符串成字符串列表:
x = x.split(',')
(x現在是["1.0", "2.0", "3.0", "4.0", "5.0"]
,字符串列表)
然後,將所有這些字符串在float(我假設你想要的):
x = [float(i) for i in x]
(現在x是[1.0, 2.0, 3.0, 4.0, 5.0]
,花車的列表)
'的列表[浮子(X)對於x在mystring.lstrip( '[')。rstrip( ']')。條()。分裂( '')]' – AK47
@ AK47多麼壯觀的單線!對於初學者來說不是很有幫助,雖然... –
@ AK47是的,這是一個很好的方法,值得讚賞(我從來沒有想過'eval()'!Ususally我避免它像瘟疫,但這可能是一個真正的應用程序)) –