将XML字符串分成三个浮点数

时间:2015-09-28 14:31:09

标签: python xml delimited

我正在解析包含字符串值的XML数据,空格分隔,表示浮点值:

<Pnts>
  <P> 123.456 987.654 867.5309</P>
  <P> 345.766 234.132 654.4564</P>
  ...

对于每个P项,我需要将三个浮点值分配给三个变量。目前我正在这样做:

for p in pnts:
    x, y, z = p.split(' ')

    x = float(x)
    y = float(y)
    z = float(z)

是否有更直接(优雅)的方式来分配三个浮点变量而不首先将它们设置为字符串然后重新定义它们?

2 个答案:

答案 0 :(得分:3)

您可以使用map()功能:

for p in pnts:
    x, y, z = map(float, p.split(' '))

答案 1 :(得分:2)

您可以使用列表推导或生成器表达式:

@if(true)
{
     @Html.MvcSiteMap().Menu("BootstrapMenuHelperModel")
}
else
{
     @Html.MvcSiteMap().Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}

x,y,z = [float(f) for f in p.split()]

或者你可以一举转换所有数据:

x,y,z = (float(f) for f in p.split())