Python字符串获得前导字符到第一个逗号

时间:2014-12-04 16:46:22

标签: python arrays regex string

我有以下字符串:

strIn = "Head,0.000235532,0.43656735"

我想从中检索变量type = "Head"和数组 vals = [0.000235532,0.43656735]

如何使用Python执行此操作?我已经考虑使用strIn [0],...,strIn [5]来获取类型,但后来我意识到我会得到各种长度的类型。感谢。

2 个答案:

答案 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是内置名称,建议不要使用它!