Python字符串会将主要字符变成第一个逗号

我有以下字符串:

strIn = "Head,0.000235532,0.43656735"

我想从这里获取一个变量type = "Head"和一个数组vals = [0.000235532,0.43656735]

我如何使用Python来做到这一点? 我考虑过使用strIn [0],...,strIn [5]来获取类型,但后来我意识到我会得到不同长度的类型。 谢谢。


如果你使用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 。 有关如何使用元组拆包的更多讨论,请参阅此答案。

如果您使用的是Python 2,则无法使用扩展的解包语法,因此您必须添加额外的步骤:

str_list = strIn.split(',')
type_ = str_list[0]
vals = [float(v) for v in str_list[1:]]

当你在python2中首先分割,然后使用切片和float函数:

>>> none=strIn.split(',')[0]
>>> none
'Head'
>>> vals=map(float,strIn.split(',')[1:])
>>> vals
[0.000235532, 0.43656735]

由于type是建议不要使用它的内置名称!

链接地址: http://www.djcxy.com/p/53557.html

上一篇: Python string get leading characters up to first comma

下一篇: Is there a way to init a list without using square bracket in Python?