我从废弃的 STAAD Pro 中获得了以下数组。输入文件。
我想用实际范围替换TO
。
数组项示例:
[["638TO640"], ["3033", "3038", "4081", "4087"], ["601TO615", "617"]]
我希望这些数组项变成:
[[638, 639, 640], [3033, 3038, 4081, 4087], [601, 602, 603, 604,... 615, 617]]
有没有一种简单的Python方式来实现转换?
最佳答案
只需使用正则表达式解析字符串中的两个数字并创建一个 range
对象:
import re
def str_to_range(s):
begin, end = re.match(r'(\d+)TO(\d+)', s).groups()
return list(range(int(begin), int(end) + 1))
>>> str_to_range('638TO640')
[638, 639, 640]
关于python - 将以字符串形式给出的数组范围转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66601447/