我有以下字符串:
strIn = "Head,0.000235532,0.43656735"
我想从中检索变量type = "Head"
和数组
vals = [0.000235532,0.43656735]
如何使用Python执行此操作?我已经考虑使用strIn [0],...,strIn [5]来获取类型,但后来我意识到我会得到各种长度的类型。感谢。
答案 0 :(得分:2)
如果您正在使用Python 3,则可以执行
type_, *vals = strIn.split(',')
vals = [float(v) for v in vals] # Convert list of strings to list of floats.
这使用str.split
将字符串拆分为基于提供的字符的列表,然后使用Python 3的扩展元组解包将第一个值放入type_
和其余值进入vals
。有关如何使用元组解包的更多讨论,请参阅this answer。
如果您使用的是Python 2,则无法使用扩展解包语法,因此您必须添加一个额外的步骤:
str_list = strIn.split(',')
type_ = str_list[0]
vals = [float(v) for v in str_list[1:]]
答案 1 :(得分:0)
当你在python2中首先与,
分开时,然后使用切片和float
函数:
>>> none=strIn.split(',')[0]
>>> none
'Head'
>>> vals=map(float,strIn.split(',')[1:])
>>> vals
[0.000235532, 0.43656735]
由于type
是内置名称,建议不要使用它!