【问题标题】:Python: for a list of strings :Pulling the first 3-6 digit number in a string and a second 3-6 digit number in same string seperated by a spacePython:用于字符串列表:提取字符串中的第一个 3-6 位数字和同一字符串中的第二个 3-6 位数字,以空格分隔
【发布时间】:2017-07-26 02:51:17
【问题描述】:

我已经将一个目录加载到 python 中,其中包含 135+ 个文件,我从每个文件中获取数据并将其放入一个数组中。数据有 22 行 (x y) 点,通常它们显示为以下之一:

{123.123 123.123} 
{123 123.123}
{123.1 123.123} 
{12 123.123}

我需要保留 (x y) 个点,以便它们只属于一个文件。我正在尝试使用二维数组,但由于位数的不同,我无法提取第一个数字 (x) 和第二个数字 (y)。我已经为此工作太久了。任何指导表示赞赏

【问题讨论】:

  • 显示到目前为止您已经尝试过的内容。使用 Python 术语,什么是二维数组?

标签: python


【解决方案1】:

假设{123.123 123.123}str 类型:
删除空格上的第一个和最后一个字符point[1:-1]split(' ')
将字符串值的结果列表转换为浮点数float(f)
将生成的两个浮点数分配给x, y

point = '{123.123 123.123}'
x, y = [float(f) for f in point[1:-1].split (' ')]

print('x:{}, y:{}'.format(x, y))
>>>x:123.123, y:123.123

【讨论】:

  • 考虑添加对代码作用的描述?
猜你喜欢
  • 2020-02-01
  • 2018-06-01
  • 1970-01-01
  • 2018-04-16
  • 2018-12-11
  • 2011-10-29
  • 2021-04-01
  • 2012-02-02
相关资源
最近更新 更多