将字符串转换为 python 中的列表或读取 xml 数据作为列表
Convert string to list in python or read xml data as list
所以我在从 xml 文件中读取信息时遇到了问题。它读入的数据应该是一个数字列表,但是当我读入它时,它是一个字符串。有没有办法将 xml 数据读取为列表或将字符串转换为列表的方法。
例如,我从 xml 中获取数据,如 [1.0, 2.0, 3.0, 4.0, 5.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"]
,一个字符串列表)
然后,将所有这些字符串转换为浮点数(正如我假设的那样):
x = [float(i) for i in x]
(x 现在是 [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]
所以我在从 xml 文件中读取信息时遇到了问题。它读入的数据应该是一个数字列表,但是当我读入它时,它是一个字符串。有没有办法将 xml 数据读取为列表或将字符串转换为列表的方法。
例如,我从 xml 中获取数据,如 [1.0, 2.0, 3.0, 4.0, 5.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"]
,一个字符串列表)
然后,将所有这些字符串转换为浮点数(正如我假设的那样):
x = [float(i) for i in x]
(x 现在是 [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]