python-有没有办法从文本文件中带括号的数字中提取值?

前端之家收集整理的这篇文章主要介绍了python-有没有办法从文本文件中带括号的数字中提取值? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个非常基本的问题,但我在互联网上找不到任何“美丽”的解决方案.我想要的只是从有字符串和括号的行中提取数字.
例如,我有一个输出文本文件,如下所示:

test: [1,50,200] 

我想提取值1、50和200,以使这些数字成为一个numpy数组.

该问题已通过拆分和剥离解决,但我认为此解决方案不是很好.

最佳答案
您可以使用非常幼稚的正则表达式:

import numpy as np
import re

nums = map(int,re.findall(r'\d+','test: [1,200]'))
print(np.array([n for n in nums]))
# [  1  50 200]

另一种选择是使用正则表达式提取整个列表,然后使用literal_eval:

import numpy as np
import re
from ast import literal_eval

li = re.search(r'(\[.*\])',200]').group()
print(np.array(literal_eval(li)))
# [  1  50 200]
原文链接:https://www.f2er.com/python/533252.html

猜你在找的Python相关文章