python - 提取方括号中的整数
问题描述
我正在尝试使用 Python 中的正则表达式从字符串中提取整数。因此,数字和括号之间可以有空格,但除了构成整数的字符之外没有其他字符。我的代码如下所示:
import re
s = " afd [asd] [12 ] [a34] [ -43 ]tt [+12]xxx"
print(re.findall(r"\s+\[\w+\]\s\[(\d+)\s\]\s\[\w+\]\s+\[\s(-\d+)\s\]\w+\s\[\+(\d+)\]\w+",s))
上面的代码打印:
[('12', '-43', '12')]
但是,我希望输出不是元组的形式,或者在上述情况下是三元组的形式,而是在列表中,如:
[12, -43, 12]
解决方案
您可以使用以下方法执行此操作:
import re
s = " afd [asd] [12 ] [a34] [ -43 ]tt [+12]xxx"
rv = re.findall(r"\s+\[\w+\]\s\[(\d+)\s\]\s\[\w+\]\s+\[\s(-\d+)\s\]\w+\s\[\+(\d+)\]\w+",s)
lst = [int(x) for t in rv for x in t]
这将遍历所有元组rv
并将每个整数添加到一个新列表中lst
。这种情况下的输出是:
>>> lst
[12, -43, 12]
推荐阅读
- amazon-web-services - 我如何开始在回声点上使用我的技能?
- python-3.x - Tensorflow 矩阵乘法与手动计算的不同值
- json - 如何跳过 json4s 中字段的反序列化
- c# - 无法在 asp.net 中发送电子邮件
- json - 从 URL 下载嵌套 JSON 并制作 Observable Object SwiftUI,错误:“在调用中缺少参数 'from' 的参数”
- python - 带有函数和 scipy 的多个参数
- html - 如何使用过度扩展和占用额外空白的图像来纠正 Boostrap 卡?
- python - 我的 Python 代码执行模糊逻辑时出错
- vim - 为什么 Vim 中的外部命令每次都会导致我的 .zshenv 被获取?
- laravel - 如果我使用 Laravel Sail,我应该使用什么 SESSION_DOMAIN?