将Unicode字符串转换为列表?

4
我获得的数据类型是 <type 'unicode'>
u'{0.128,0.128,0.133,0.137,0.141,0.146,0.15,0.155,0.159,0.164,0.169,0.174,0.179,0.185,0.19,0.196,0.202,0.208,0.214,0.22}'  

我想把这个转换成列表,就像这样
[0.128,0.128,0.133,0.137,0.141,0.146,0.15,0.155,0.159,0.164,0.169,0.174,0.179,0.185,0.19,0.196,0.202,0.208,0.214,0.22]

我该如何使用Python实现这个功能?

谢谢。

2个回答

8
就像这样:
>>> a = u'{0.128,0.128,0.133,0.137,0.141,0.146,0.15,0.155,0.159,0.164,0.169,0.174,0.179,0.185,0.19,0.196,0.202,0.208,0.214,0.22}'
>>> [float(i) for i in a.strip('{}').split(',')]
[0.128, 0.128, 0.133, 0.137, 0.141, 0.146, 0.15, 0.155, 0.159, 0.164, 0.169, 0.174, 0.179, 0.185, 0.19, 0.196, 0.202, 0.208, 0.214, 0.22]

Unicode与str非常相似,您可以使用.split()以及strip()。此外,将其转换为float的方式与str相同。
因此,首先使用.strip('{}')删除字符串中不必要的花括号({}),然后使用.split(',') 通过逗号(,)分割结果字符串。之后,您只需要使用列表推导式,将每个项转换为float,就像上面的示例一样。

4

以下是我的初步想法和未经实验的想法:

data = u'your string with braces removed'
aslist = [float(x) for x in data.split(',')]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接